2

我在我的页面中显示警报框,但之后我的页面崩溃了。

Response.Write("<script>alert('Selected items are removed successfully')</script>");

如何解决?

4

3 回答 3

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);

要了解和之间的差异RegisterStartupScriptRegisterClientScriptBlock您可以在此处查看

RegisterStartupScript 和 RegisterClientScriptBlock 之间的区别?

您还将了解为什么它们并不总是可以互换的。

于 2012-06-12T15:03:01.393 回答
2

Response.Write 在页面呈现之前直接写入输出流。如果您查看生成的页面代码,您将在任何 HTML 之前看到您的输出。这会破坏页面状态等。

您最可能想要的是类似于 RegisterStartupScript 方法的东西,用于在页面末尾写出适当的脚本块。

文档链接:http: //msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerstartupscript.aspx

有关此方法的代码示例,请参阅@Claudio Redi 的帖子。

于 2012-06-12T14:59:25.100 回答
1

这是在网络表单回发期间触发 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)
于 2012-06-12T15:04:40.280 回答