值被javascript更改时未保存在文本框中

值被javascript更改时未保存在文本框中,javascript,asp.net,vb.net,postback,Javascript,Asp.net,Vb.net,Postback,我有一个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.return

我有一个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
不是我在文本框中看到的值。它是运行javascript之前的默认值(即“无”)。如何“存储”此值或使代码看到文本框的更新内容

我已经尝试通过javascript强制回发

 s.Append("__doPostBack('','');" & ControlChars.CrLf)
这确实会导致回发,但值总是再次丢失

请帮忙。
谢谢我的道歉。引用的文本框设置为只读。当我更改此设置时,新值存储正常。

看起来像是ViewState问题。Web表单为每个输入创建一个隐藏字段以保存视图状态。可能是从隐藏的输入而不是文本框中获取值。尝试在文本框中添加EnableViewState=“false”,然后再次测试它!
 s.Append("__doPostBack('','');" & ControlChars.CrLf)