text框在回发时丢失值
本文关键字:text | 更新日期: 2023-09-27 18:26:07
我有一个asp.net页面(Form=运行在服务器上)
2个文本框:
<input type="text" id="tb1" />
<asp:TextBox ID="tb2" runat="server" />
以及按钮提交。
然而,当我在其中放入一些值并按下按钮时,只有tb2从服务器上获取其值。
我认为输入字段的值总是从客户端到服务器,然后再回来!
在什么情况下(在页面生命周期中)tb1会失去价值吗?
<input type="text" id="tb1" />
是文本HTML
没有服务器端代码将值放回。
该功能是服务器端控件的一部分。
POST将包含在tb1中输入的信息,因此可以从请求中读取
如果你把它改成
<input type="text" id="tb1" runat="server" />
它会按照你的意愿工作。
如果没有runat=server,它就不会"丢失"其值——它永远不会被填充——永远不会,因为它只是POST中的数据,并且没有连接到服务器端控件。
最后一点-为了明确地回答您的一些评论-POST数据是在PreLoad事件之前处理的-这可以从http://msdn.microsoft.com/en-us/library/ms178472.aspx
tb1
不是服务器端控件,它是一个普通的html dom对象。
但是,您应该在Request.Form
值集合中的帖子之后找到它的值。