我有asp.net页面(表= RUNAT服务器)textBox在回发中丢失值?
2文本框:
<input type="text" id="tb1" />
<asp:TextBox ID="tb2" runat="server" />
和一个按钮提交。
但是,当我把一些值 - 按下按钮 - 只有tb2正在从服务器获取其价值。
我认为输入字段的值将从客户端到服务器并始终返回!
什么事件(页面生命周期中)tb1是否会失去它的价值?
我有asp.net页面(表= RUNAT服务器)textBox在回发中丢失值?
2文本框:
<input type="text" id="tb1" />
<asp:TextBox ID="tb2" runat="server" />
和一个按钮提交。
但是,当我把一些值 - 按下按钮 - 只有tb2正在从服务器获取其价值。
我认为输入字段的值将从客户端到服务器并始终返回!
什么事件(页面生命周期中)tb1是否会失去它的价值?
的POST将包含在TB1输入的信息 - 所以它可以从请求
读,如果你将其更改为
<input type="text" id="tb1" runat="server" />
,将工作,只要你想。
没有runat =服务器,它不会“丢失”它的值 - 它永远不会被填充 - 因为它只是POST中的数据而没有连接到服务器端控件。
最后一个要点 - 明确地回答大家的一些意见 - 只是预载事件之前的POST数据进行处理 - 这可以从http://msdn.microsoft.com/en-us/library/ms178472.aspx
我知道我可以通过request.form读取它,但是在asp.net生命周期的哪个阶段 - 它将值返回到tb2(而不是tb1)? – 2012-02-29 21:39:07
@royi - 停止比较tb1和tb2。他们完全不同。 – 2012-02-29 21:40:55
其他帖子是正确的 - 它不会被重新输入,因为这不是服务器端控件(除非你输入runat = server) – dice 2012-02-29 21:40:59
<input type="text" id="tb1" />
是字面的HTML。
没有服务器端代码将值返回。
该功能是服务器端控件的一部分。
什么事件(在页面生命周期中)tb1是否会失去它的价值? – 2012-02-29 21:37:17
@RoyiNamir这个问题没有意义。 'tb1'不是服务器端控件,它完全不涉及服务器端页面生命周期。 – asawyer 2012-02-29 21:40:08
tb1的值永远不会被设置为服务器端的控件,因此它永远不会失去它的价值。如果您愿意,您可以通过'Request'属性访问该值。 – 2012-02-29 21:41:27
tb1
不是服务器端控件,它是一个普通的html dom对象。
但是,您应该在Request.Form
值集合中找到其后的值。
我知道我可以通过request.form读取它,但是在asp.net生命周期的哪个阶段 - 它将值返回到tb2(而不是tb1) – 2012-02-29 21:40:03
@RoyiNamir请参阅我的其他响应。 – asawyer 2012-02-29 21:40:39
找到如何(如果)你找TB1的价值? – 2012-02-29 21:35:16
@HenkHolterman我想在屏幕上看到它 – 2012-02-29 21:36:49