我有以下简单的测试 asp.net 表单,以及以下 vb.net 加载事件:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strScript As String
strScript = "function MyMsg()"
strScript += "{"
strScript += "alert(document.getElementById('TextBox3').value);"
strScript += "}"
ClientScript.RegisterStartupScript(Me.GetType(), "MyMsg", strScript, True)
End Sub
它只是在调用脚本时显示网页中文本框的上下文。
然后我有这个按钮代码:
Protected Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
If ClientScript.IsStartupScriptRegistered("MyCall") Then
Me.TextBox3.Text = "My text - registered"
Else
Me.TextBox3.Text = "my text NOT registered"
End If
ClientScript.RegisterStartupScript(Me.GetType(), "MyCall", "MyMsg();", True)
End Sub
但是,单击该按钮时始终显示未注册的文本。所以,代码似乎运行正常。它从文本框中抓取文本没有问题。但是,代码的 True 部分永远不会运行。
这是一个状态或范围问题吗?(或者代码只注入一次的事实)阻止了它运行代码块是真的吗?
如何让上述代码的“真实”部分运行?