如何在ASP.NET中获取服务器端的输入值(类型文本)?

时间:2012-07-30 11:20:12

标签: asp.net html

使用HTML标记

<form id="form" runat="server">
  <input id="donkey" type="text" placeholder="monkey" runat="server" />
</form>

我希望通过

获取代码中输入的值
String s = Request.Form["donkey"];

但它只产生空值。当我研究数据结构时,我得到类似$ctl00$main$donkey的内容,所以我知道它就在那里。过了一会儿,我只是转到了

<form id="form" runat="server">
  <asp:TextBox id="donkey" type="text" runat="server"></asp:TextBox>
</form>

但我仍然想知道如果由于某种原因我不会切换到ASP组件,如何从服务器端引用该对象。

4 个答案:

答案 0 :(得分:7)

如果要使用request.form访问该值,请将name属性添加到输入标记并删除runat属性。

<input id="donkey" name="donkey" type="text" />

否则使用

<asp:TextBox ID="donkey" type="text" runat="server"></asp:TextBox>

和cs

string s = donkey.Text;

答案 1 :(得分:5)

如果你想获得像这样的输入使用价值

  String s = donkey.value;

答案 2 :(得分:2)

只需donkey.Value将返回文本输入中应该包含runat="server"的值。它将创建一个System.Web.UI.HtmlControls.HtmlInputText的对象。

答案 3 :(得分:2)

我不确定ASP.net,但对于正常提交的常规表单字段,它应该具有name属性。那将是您可以查找表单值的关键。