从任何页面收集表单数据

时间:2012-03-20 20:26:23

标签: c# asp.net html forms

假设我创建了一个静态的.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”属性提交表单,我只能使用这两种方法。

我想避免通过网址传递变量。

感谢您的帮助。

1 个答案:

答案 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>

收集原帖中提到的表单数据的两种方法都可以正常工作。