我过去曾使用过这样的代码在我的asp.net网页上成功弹出警告消息。现在它不起作用。我无法弄清楚原因。
ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID,
"alert('This pops up')", true);
有什么想法吗?
答案 0 :(得分:41)
脱离我的头顶:
GetType()
代替typeof(Page)
,以便将脚本绑定到实际的页面类而不是基类,Page.UniqueID
,这不是那么有意义,因为它应该由命名控件使用,PreRender
阶段注册脚本:protected void Page_PreRender(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, GetType(), "YourUniqueScriptKey",
"alert('This pops up');", true);
}
答案 1 :(得分:19)
试试这段代码......
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "script", "alert('Hi');", true);
UpdatePanel1
是您网页上id
的{{1}}
答案 2 :(得分:1)
如果导致脚本的控件位于updatepanel内,则必须将updatepanel id放在第一个参数中,否则请使用关键字' this'而不是更新面板这里是代码
ScriptManager.RegisterStartupScript(UpdatePanel3, this.GetType(), UpdatePanel3.UniqueID, "showError();", true);
答案 3 :(得分:0)
我遇到了类似的问题。然而,这个问题是由于我设计页面以引入请求的方式引起的。我将所有的.js文件放在最后应用于页面的内容上,因此它们位于我的文档末尾。 .js文件包含我的所有功能。脚本管理器似乎能够调用此函数它需要js文件已经存在与加载时调用的函数。希望这有助于其他任何人。