Javascript不与ASP.Net中的ClientScriptManager一起执行

Javascript does not execute with ClientScriptManager in ASP.Net

本文关键字:ClientScriptManager 一起 执行 中的 Net 不与 ASP Javascript      更新时间:2024-05-08

我有一个带有一些按钮的复合控件。这是一个按钮的代码。调用的javascript永远不会执行。但如果我对Response.RRedirect行进行注释,服务器调用的javascript就会执行。为什么会有这种行为?。我知道我可以在按钮中添加一个带有"alert"的"OnClick"属性,但我在这里的兴趣是了解从服务器端调用javascript时的逻辑。任何帮助都将不胜感激。

private void Delete_Click(object sender, EventArgs e)
{
    ClientScriptManager cs = Page.ClientScript;
    if (!cs.IsStartupScriptRegistered(this.GetType(), "AlertMsgPopup"))
    {
        String cstext1 = "alert('Some message');";
        cs.RegisterStartupScript(this.GetType(), "AlertMsgPopup", cstext1, true);
    }
    SomeMethod();  
    Page.Response.Redirect(SomePage);
}

Delete_Click方法中的所有代码都在事物的服务器端执行。这意味着程序的控制权在服务器上。由于JavaScript在客户端(在浏览器中)运行,所以它实际上还不会执行。

在服务器上执行Response.Redirect的事实否定了该脚本完全运行的可能性——您正在停止执行当前请求,并执行一个新请求(对于"SomePage")。请参阅MSDN:

调用重定向(字符串)相当于调用Redirect(String,布尔值)其中第二参数设置为true。

相关文章:
  • 没有找到相关文章