从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,它仍然不起作用。
由于它在服务器上运行。。。
txtNickname.Value
和txtPassword.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] + "");
}