我有一个javascript函数如下:
Dim s As New StringBuilder
s.Append("<script type=""text/javaScript"">")
s.Append("var result = new Object();" & ControlChars.CrLf)
s.Append("if (window.returnValue == 'undefined') { window.returnValue = ''; }" & ControlChars.CrLf)
s.Append("function ReturnClaimCode(id) { " & ControlChars.CrLf)
s.Append("document.getElementById('" & txtClaimSelected.UniqueID & "').value=id;" & ControlChars.CrLf)
s.Append("document.getElementById('" & btnAllocate.UniqueID & "').disabled = false;" & ControlChars.CrLf)
s.Append("}" & ControlChars.CrLf)
s.Append("</script>")
If Not ClientScript.IsClientScriptBlockRegistered("ReturnClaimCodeJs") Then
ClientScript.RegisterClientScriptBlock(Me.GetType(), "ReturnClaimCodeJs", s.ToString())
End If
执行此操作时,将文本框'txtClaimSelected'的值设置为ID,该ID可以是'1','2','3'等。这样可以正常工作。我的问题是,当我单击表单上的一个按钮时(通过此javascript将ID值放入文本框后),通过
获取的值Dim valueoftextbox = txtClaimSelected.Text
不是我在文本框中看到的值。它是运行javascript之前的默认值(单词“None”)。如何“存储”此值或使我的代码看到文本框的更新内容?
我尝试通过
在javascript中强制回发 s.Append("__doPostBack('','');" & ControlChars.CrLf)
这确实会导致回发,但值总是会再次丢失。
请帮忙。 感谢
答案 0 :(得分:1)
道歉。引用的文本框设置为只读。当我更改此设置时,新值已存储好。