我在一个if语句中有两个JavaScript消息框,它没有触发-编译器只是绕过代码,就好像它不在那里一样。当它在if语句之外时,这段完全相同的代码可以在其他地方运行。有没有人能解释一下为什么这个方法不起作用?谢谢
If chk1.Checked And chk4.Checked Then
Dim message As String = "Invalid"
Dim sb As New System.Text.StringBuilder()
sb.Append("<script type = 'text/javascript'>")
sb.Append("window.onload=function(){")
sb.Append("alert('")
sb.Append(message)
sb.Append("')};")
sb.Append("</script>")
ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb.ToString())
Else
If chk2.Checked = True And chk5.Checked = True Then
Dim message2 As String = "Invalid"
Dim sb2 As New System.Text.StringBuilder()
sb2.Append("<script type = 'text/javascript'>")
sb2.Append("window.onload=function(){")
sb2.Append("alert('")
sb2.Append(message2)
sb2.Append("')};")
sb2.Append("</script>")
ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb2.ToString())
Else发布于 2012-02-09 22:36:56
尝试替换:
sb2.Append("</script>")通过以下方式:
sb2.Append("<\/script>")在这两种情况下。
浏览器不允许直接注入,你需要欺骗它。
我想知道你为什么将Javascript和VBScript混合在一起,或者它将如何运行。
发布于 2013-02-25 14:15:48
确保onload事件没有设置复选框。The ASP.net lifecycle指定将首先触发onload事件,因此将复选框设置为onload部分中定义的复选框。如果需要避免这种情况,只需将设置复选框的代码包装在if not isPostback then语句中即可避免这种情况发生
发布于 2013-07-22 00:38:00
aspx:
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<asp:CheckBox ID="CheckBox1" Text="CheckBox1" runat="server" />
<asp:CheckBox ID="CheckBox2" Text="CheckBox2" runat="server" />vb:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim message As String = "not (chk1 and chk2)"
If CheckBox1.Checked And CheckBox2.Checked Then
message = "chk1 and chk2"
Else
If CheckBox1.Checked Then
message = "chk1"
ElseIf CheckBox2.Checked Then
message = "chk2"
End If
End If
Dim sb As New System.Text.StringBuilder()
sb.Append("<script type = 'text/javascript'>")
sb.Append("window.onload=function(){")
sb.Append("alert('")
sb.Append(message)
sb.Append("')};")
sb.Append("</script>")
ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb.ToString())
End Sub我测试了这段代码...
https://stackoverflow.com/questions/9212649
复制相似问题