从c#后面的代码中获取输入html的值

时间:2013-07-17 15:00:11

标签: c# html asp.net

我做了一些研究,并了解了如何从输入html文本框中读取值。

这对我来说很好,但是它立刻起作用了。

这是我的代码,输入html返回null

<input type="text" name="inpNickname" placeholder="Nickname" data-placement="right" data-toggle="tooltip" title="Nickname" id="txtNickname" runat="server"/>

<input type="text" name="inpPassword" placeholder="Password" data-placement="right" data-toggle="tooltip" title="Password" id="txtPassword" runat="server"/>

string Nickname = Request.Form["inpNickname"];
string Password = Request.Form["inpPassword"];

如果我将Request.Form []更改为ID,它仍然无效。

5 个答案:

答案 0 :(得分:20)

因为它在服务器上运行...

txtNickname.ValuetxtPassword.Value会为您提供所需的信息。

当您指定runat="server"时,您实际上是在为您的代码隐藏类提供属性。因此,您可以直接访问该属性及其属性。

答案 1 :(得分:4)

为什么不使用server control

<asp:TextBox ID="txtNickname" runat="server" />

代码背后:

var nickName = txtNickname.Text;

答案 2 :(得分:4)

string Nickname = txtNickname.Text;
string Password = txtPassword.Text;

他们正在服务器上运行,请参阅this

答案 3 :(得分:1)

使用name="inpNickname"不起作用,只能使用ID,因此在这种情况下:txtNickname

答案 4 :(得分:0)

标准方法:

前端:

 <asp:TextBox runat="server" id="testid"></asp:TextBox>

后端:

String test = testid.text;

通常,我使用这些简单的服务器控件,但是具有复杂的表单和回发,事情并不总是那么简单... 我发现了另一种从后端获取客户端控件的方法,即使使用例如control.text或thecontrol.value在后台代码中未找到该控件,也是如此:

后端:

String test = Request.Form["ctl00$MainContent$TextboxControlsId"].ToString();

这将获取ID为:TextboxControlsId的文本框的内容,该ID在站点管理员之外定义。

如果您需要查找控件的ID(很可能不会保存您在前端编写的ID),则可以使用:

foreach (string s in Request.Form.Keys ) { 
    Response.Write(s.ToString() + ":" + Request.Form[s] + ""); 
}