我有一个基本的HTML表单,根据数据库中存在的记录数量插入到服务器端div标签中.这个HTML表单很好,一切都很好.但是在我的操作页面上,我似乎无法从后面的代码中访问输入元素.我已经尝试过使用Request范围,但是在这种方法上已经空洞了.还有其他建议吗?
以下所有建议都很棒,通常这就是我要做的.但是这些表单是在编译页面后即时构建的,因此runat ='server'对我没有任何作用.它只是传递到html页面.
如果您正在访问纯HTML表单,则必须通过提交按钮(或通过javascript帖子)将其提交给服务器.这通常意味着您的表单定义将如下所示(我将关闭内存,请确保检查html元素是否正确):
您应该能够访问customerName和customerPhone数据,如下所示:
string n = String.Format("{0}", Request.Form["customerName"]);
如果你有method="GET"
表格(不推荐,它会弄乱你的网址空间),你将不得不访问这样的表单数据:
string n = String.Format("{0}", Request.QueryString["customerName"]);
这当然只有在表格"已发布","已提交"或通过"回发"完成时才有效.(即有人点击了"保存"按钮,或者这是通过javascript以编程方式完成的.)
另外,请记住,只有在不使用服务器控件(即runat="server"
)时才能以这种方式访问这些元素,而服务器控件的id和名称则不同.
我猜的是你需要将那些输入元素设置为runat ="server".
因此您将无法访问该控件
但是你将能够合作
并通过使用阅读
string myStringFromTheInput = myTextBox.Value;
通常应该这样做Request.Form["elementName"]
.
例如,如果您有,则可以使用它
Request.Form["email"]
来访问其值.