Javascript ClientScript.RegisterStartupScript不工作

Javascript ClientScript.RegisterStartupScript不工作,javascript,asp.net,registerstartupscript,clientscript,Javascript,Asp.net,Registerstartupscript,Clientscript,我已经搜索了SO&google,但我似乎无法让它工作。 代码位于asp.net应用程序中“取消”按钮的codebehind click事件中,但似乎没有关闭弹出窗口。有什么想法吗 try { if (btnCancel.Text == "Close") { String csName1 = "PopupScript"; Type csType = this.GetType(); ClientScriptManager cs = P

我已经搜索了SO&google,但我似乎无法让它工作。 代码位于asp.net应用程序中“取消”按钮的codebehind click事件中,但似乎没有关闭弹出窗口。有什么想法吗

try
{
    if (btnCancel.Text == "Close")
    {
        String csName1 = "PopupScript";
        Type csType = this.GetType();

        ClientScriptManager cs = Page.ClientScript;
        if (!cs.IsClientScriptBlockRegistered(csType, csName1))
        {
            ClientScript.RegisterStartupScript(GetType(), "ClosePopup", "window.close();", true);
        }
    }
}  
更新:回发后,当我查看源代码页时,我看到的唯一相关代码是:

//<![CDATA[
(function() {var fn = function() {$get("ToolkitScriptManager1_HiddenField").value = '';Sys.Application.remove_init(fn);};Sys.Application.add_init(fn);})();window.close();
document.getElementById('ValidationSummary1').dispose = function() {
    Array.remove(Page_ValidationSummaries, document.getElementById('ValidationSummary1'));
}

/您可以改用它

ScriptManager.RegisterStartupScript(this.Page, GetType(), "ClosePopup", "window.close();", true);
或者你也可以试试这个

Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClosePopup", "window.close();", true);

祝您愉快。

由于无法按要求运行ClientScript,我使用以下代码进行了变通:

    function closeWin() {
        //If txt = 'cancel' then close;
        GetRadWindow().Close();
    }


<td align="center"><asp:Button runat="server" ID="btnClose" Text="Close" 
        OnClientClick="closeWin();return false;" onclick="btnClose_Click"/></td>
函数closeWin(){
//如果txt=‘取消’,则关闭;
GetRadWindow().Close();
}

脚本是在回发时呈现的,还是根本没有脚本?@Steven,不确定您的意思当您单击“取消”按钮,回发发生时,请查看页面的源代码。是
窗口。关闭()被输出,浏览器不尊重,或者您发布的C#代码有问题。@Steven请参阅更新的帖子。因此,您的脚本已注册,应该正在运行。我猜浏览器由于某种原因不允许关闭窗口。你的申请是打开窗口的人吗?它是否在同一个域中?
ScriptManager.RegisterStartupScript
是否已过时?是否使用telerik编写更好的客户端脚本?替换为:RadScriptManager.RegisterStartupScript