假设我创建了一个静态的.html页面。接下来,我构建一个带有一堆输入框的表单。然后我决定将所有表单数据发布到另一个页面,称之为process-form-data.aspx。我的问题是,自从我将表单数据发布到.aspx页面后,如何在代码隐藏屏幕中使用C#来获取所有数据?
我首先尝试了以下内容:
NameValueCollection nvc = Request.Form;
string valTextBox1;
if (!string.IsNullOrEmpty(nvc["txtBox1"]))
{
valTextBox1 = nvc["txtBox1"];
Response.Write(valTextBox1);
}
然后我尝试了:
valTextBox1 = Request.Form["txtBox1"].ToString();
Response.Write(valTextBox1);
但这两种方法似乎都不起作用。如果我在.apsx页面上使用runat =“server”属性提交表单,我只能使用这两种方法。
我想避免通过网址传递变量。
感谢您的帮助。
答案 0 :(得分:0)
感谢所有的建议!我想当提交表单时,默认方法是POST数据;事实证明它是GET。 (http://www.w3.org/TR/html401/interact/forms.html)
我刚刚将以下属性添加到表单标记:method =“post”。
<form action="process-form-data.aspx" method="post">
<input type="text" name="txtBox1" />
</form>
收集原帖中提到的表单数据的两种方法都可以正常工作。