Javascript不与ASP.Net中的ClientScriptManager一起执行
Javascript does not execute with ClientScriptManager in ASP.Net
我有一个带有一些按钮的复合控件。这是一个按钮的代码。调用的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。
相关文章:
- 没有找到相关文章