Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ClientScript.RegisterStartupScript not working

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'));
}
like image 846
Csharp Avatar asked May 10 '13 14:05

Csharp


People also ask

What is ClientScript RegisterStartupScript?

ClientScript. RegisterStartupScript for displaying alert messages. it works fine for the first message, however second message wont display. Though it passes through the code while debugging.

What is ScriptManager RegisterStartupScript in C#?

RegisterStartupScript(Control, Type, String, String, Boolean) Registers a startup script block for a control that is inside an UpdatePanel by using the ScriptManager control, and adds the script block to the page.

What is RegisterClientScriptBlock?

The main difference is that the RegisterStartupScript method places the JavaScript at the bottom of the ASP.NET page right before the closing </form> element. The RegisterClientScriptBlock method places the JavaScript directly after the opening <form> element in the page.


1 Answers

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.

like image 184
Kevin Shah Avatar answered Sep 30 '22 02:09

Kevin Shah