我有一个基本的HTML表单,它根据数据库中存在的记录数插入服务器端div标记中。这种HTML形式可以很好地显示,并且一切看起来不错。但是在我的操作页面上,我似乎无法从后面的代码访问输入元素。我尝试使用Request范围,但在该方法上空了。还有其他建议吗?
以下所有建议都是不错的选择,通常我会这样做。但是这些格式是在页面编译后立即生成的,因此runat =’server’对我没有任何作用。它只是将其传递给html页面。
如果要访问纯HTML表单,则必须通过“提交”按钮(或通过javascript帖子)将其提交到服务器。这通常意味着您的表单定义将如下所示(我的内存不足,请确保您检查html元素是否正确):
<form method="POST" action="page.aspx"> <input id="customerName" name="customerName" type="Text" /> <input id="customerPhone" name="customerPhone" type="Text" /> <input value="Save" type="Submit" /> </form>
您应该能够像下面这样访问customerName和customerPhone数据:
string n = String.Format("{0}", Request.Form["customerName"]);
如果您使用method="GET"表单(不建议使用,它会弄乱您的URL空间),那么您将必须像这样访问表单数据:
method="GET"
string n = String.Format("{0}", Request.QueryString["customerName"]);
当然,仅当表单为“已发布”,“已提交”或通过“回发”完成时,此方法才有效。(即有人点击了“保存”按钮,或者通过javascript以编程方式完成了此操作。)
另外,请记住,只有当您不使用服务器控件(即runat="server")且服务器控件的ID和名称不同时,才能以这种方式访问这些元素。
runat="server"