更新面板中的脚本在asp.net中不起作用

时间:2015-11-14 07:49:54

标签: c# asp.net

我在.aspx页面中使用了一些脚本。在我将更新面板放在这些页面之前,它正在工作。我需要两件事,更新面板和脚本。如何在asp.net的更新面板中启用这些脚本?我正在使用c#和asp.net 4.5框架。 我在页面中使用的脚本是:

    1。
      

    Response.Write(“alert('Successfully Updated')”);

    2

    string url = "./Quick.aspx";
       string cmd = "window.open('" + url + "', '_blank', 'height=600,width=600,status=yes,toolbar=no,menubar=no,location=yes,scrollbars=yes,resizable=no,titlebar=no' );";
    ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindow", cmd, true);
       }
    

    这些代码用于.aspx.cs页面。

    有关此问题的任何想法要解决吗?

    ...谢谢

3 个答案:

答案 0 :(得分:0)

//是一种简单的方法。

// Common.Response.Write(“< Script> alert('Successfully Updated')< / Script>”);

    string url = "Quick.aspx";
    string cmd = "alert('Successfully Updated');window.open('" + url + "', '_blank', 'height=600,width=600,status=yes,toolbar=no,menubar=no,location=yes,scrollbars=yes,resizable=no,titlebar=no' );";
    ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindow", cmd, true);

答案 1 :(得分:0)

将Javascript放在UpdatePanel之外,它会起作用......

答案 2 :(得分:0)

为了修复第一个脚本(1),你不能使用Response.Write,因为这个代码可以在异步回发中执行,这就是你所经历的。 解决方案是使用ScriptManager.RegisterStartupScript,如下所示:

ScriptManager.RegisterStartupScript(
                        this,
                        this.GetType(),
                        "SuccessAlert",
                        "alert('Successfully Updated');",
                        true);

您可以在此处找到有关RegisterStartupScript的更多信息: https://msdn.microsoft.com/en-us/library/bb359558(v=vs.110).aspx