我在我的页面中显示警告框,但之后我的页面出现故障。
Response.Write("<script>alert('Selected items are removed successfully')</script>");
如何解决这个问题?
答案 0 :(得分:7)
这不是在ASP.NET上向客户端发送javascript代码的方法
您可以使用Page.ClientScript.RegisterStartupScript
Page.ClientScript.RegisterStartupScript(
this,
GetType(),
"ALERT",
"alert('Selected items are removed successfully')",
true);
在这种情况下,您还可以使用Page.ClientScript.RegisterClientScriptBlock
Page.ClientScript.RegisterClientScriptBlock(
this,
GetType(),
"ALERT",
"alert('Selected items are removed successfully')",
true);
要了解RegisterStartupScript
和RegisterClientScriptBlock
之间的差异,可以在此处查看
Difference between RegisterStartupScript and RegisterClientScriptBlock?
您也会理解为什么它们并不总是可以互换的。
答案 1 :(得分:2)
Response.Write在呈现页面之前直接写入输出流。 如果查看生成的页面代码,您将在任何HTML之前看到输出。这打破了页面状态等。
您最想要的是像RegisterStartupScript方法,在页面末尾写出正确的脚本块。
文档链接: http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerstartupscript.aspx
有关此方法的代码示例,请参阅@Claudio Redi的帖子。
答案 2 :(得分:1)
以下是在webform post-back期间触发javascript代码的语法:
Dim scVal As String
scVal = "<script type='text/javascript'>"
scVal = scVal & " alert('Selected items are removed successfully');</script>"
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "temp", scVal, False)