所以,我有一个元素:
<input id="loginEmail" type="email" class="form-control" name="email" placeholder="email" />
我可以使用Request.Form["email"]
当我使用以下内容时:
<input id="loginEmail" runat="server" type="email" class="form-control" name="email" placeholder="email" />
注意:我添加runat="server"
它不起作用。如何在不使用loginEmail.Value
的情况下检索数据?
我想这样做的原因是在方法运行后保留输入值,就像这样(如果提交没有成功,我会显示一条错误消息,供用户编辑表单的值):< / p>
loginEmail.Value = Request.Form["email"];
谢谢大家。
答案 0 :(得分:1)
如果它不是服务器控件,则按名称选择输入控件的值。如果它是服务器控件,则需要通过Id选择它。
Request.Form["loginEmail"]
使用Request.Form.AllKeys
查看已发送的内容及其发送方式。
答案 1 :(得分:1)
虽然@Schadensbegrenzer的答案可能适用于您,但从概念上讲它是错误的。 Request.Form
只会在传递name
时为您提供价值。
提及的答案适合您,因为ASP.Net
会自动添加name
属性,其值与id
相同,如果您没有指定它。所以这里id = name,你选择的只是基于name
。
您可以使用与runat = server
的ID不同的名称,并尝试根据ID选择值,它会为您提供null
。
答案是你的问题是&#34;这是不可能的&#34;。