我有 asp.net 页面(表单 = runat 服务器)

2个文本框:

<input type="text" id="tb1" />
<asp:TextBox ID="tb2" runat="server" />

和一个按钮提交。

但是,当我在其中放入一些值并按下按钮时,只有 tb2 会从服务器取回其值。

我认为输入字段值总是从客户端到服务器并返回!

在什么情况下(在页面生命周期中)tb1 会失去它的值(value)吗?

最佳答案

POST 将包含在 tb1 中输入的信息 - 因此可以从请求中读取

如果你把它改成

<input type="text" id="tb1"  runat="server" />

它会按你的意愿工作。

没有 runat=server 它不会“丢失”它的值 - 它永远不会被填充 - 永远,因为它只是 POST 中的数据并且没有连接到服务器端控件。

最后一点 - 明确回答您的一些评论 - 在 PreLoad 事件之前处理 POST 数据 - 这可以从 http://msdn.microsoft.com/en-us/library/ms178472.aspx 中找到

关于c# - textBox 在回发时丢失值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9506969/

10-11 07:52