从codeehind c#中的输入html中获取值

本文关键字:html 获取 输入 codeehind | 更新日期: 2023-09-27 18:23:42

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

这对我来说很好,但马上就不管用了。

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

<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,它仍然不起作用。

从codeehind c#中的输入html中获取值

由于它在服务器上运行。。。

txtNickname.ValuetxtPassword.Value将为您提供所需。

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

为什么不使用服务器控件?

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

代码背后:

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

它们在服务器上运行,请参阅此

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

标准方法:

前端:

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

后端:

String test = testid.text;

通常我使用这些简单的服务器控件,但对于复杂的表单和post-back,事情并不总是那么简单。。。我找到了另一种从后端获得客户端控制的可靠方法,即使在后面的代码中没有找到控制,也可以使用control.text或control.value,例如:

后端:

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

这将获取id为TextboxControlsId的文本框的内容,该文本框是在sitemaster之外定义的。

如果你需要找到你的控件的ID(很可能它不会保存你在前端写的相同ID),你可以使用循环浏览你的表单控件键

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