使用Javascript更新客户端上的TextBox并从服务器读取值

Cha*_*adD 3 javascript asp.net

我在客户端上使用Javascript来更新ASP文本框控件,该控件呈现为HTML文本框.

当我尝试访问服务器上的文本框控件中的值时,我并不太惊讶TextBox的更新值无法通过TextBox服务器控件的普通Text属性访问,因为该值的状态,我假设是可能在ViewState中保存,服务器不知道客户端脚本已经更改了它.

是使用以下内容获取更新值的最佳方法:

的Request.Form(TextBox.UniqueID)?

我怀疑因为文本框填充在GridView控件的一行中,并且在运行时在执行DataBind时添加了行,所以我可能会得到与在设计时在控件上绘制TextBox不同的结果.

我确认客户端可以通过以下方式访问文本框中的值:

Request.Form( CType(Row.Cells.Item(4).FindControl("txtTotal"), TextBox).UniqueID) 
Run Code Online (Sandbox Code Playgroud)

但无法通过此访问:

CType(Row.Cells.Item(4).FindControl("txtTotal"), TextBox).Text
Run Code Online (Sandbox Code Playgroud)

后者返回一个空字符串.

我认为这两行代表了整个故事.

当你认为它们返回不同的结果时,有两个属性来获取文本框的值,甚至更丑,这似乎很难看.

有没有更好的方式或者这只是客户端的发展?

当人们说现在的web开发和客户端(例如winform)应用程序一样简单,现在ASP.NET跟踪状态时,我总是感到惊讶.对我而言,Web开发总是更加复杂和昂贵,但我承认在Web开发方面并不熟练.

ram*_*ram 5

您是否有机会将文本框标记为"只读"然后尝试进行更新?

http://aspadvice.com/blogs/joteke/archive/2006/04/12/16409.aspx

服务器会忽略任何更新 textbox1.ReadOnly=true;