ClientScript.RegisterStartupScript not working

42,061

Solution 1

since I could not get the ClientScript to work as required, I did a workaround using the code below:

    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>

Solution 2

You can use this instead

ScriptManager.RegisterStartupScript(this.Page, GetType(), "ClosePopup", "window.close();", true);

or you can also try this one

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

Have a Good day.

Share:
42,061
Elsa
Author by

Elsa

(csharpnewbie) The more I learn .Net, the more there is to learn....

Updated on August 30, 2020

Comments

  • Elsa
    Elsa over 3 years

    I have searched SO & google, but I can't seem to get this to work. The code is in the codebehind click event of a "Cancel" button in my asp.net application but does not seem to close the popup window. Any ideas?

    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);
            }
        }
    }  
    

    Update: After postback, when I look at the source page, the only code I see related is:

    //<![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'));
    }
    
  • David
    David almost 8 years
    ScriptManager.RegisterStartupScript is obsolete better ClientScript
  • Alaa
    Alaa over 7 years
    using telerik? replace with : RadScriptManager.RegisterStartupScript