在C#ASP.NET中获取发布值

时间:2012-03-31 13:13:07

标签: c# asp.net http post

我有一个动态表单,允许动态添加多个字段,

我知道如何使用以下方法获取aspnet中单个字段的值:Request.Form [“myField”],但是这里我有更多字段,我不知道这些字段的数量,因为这些是动态的

字段名称为“orders []”

例如:

<form>
<input type="text" name="orders[]" value="order1" />
<input type="text" name="orders[]" value="order2" />
<input type="text" name="orders[]" value="order3" />
</form>

在php中 我通过访问$_POST['orders'];

获取值作为数组

例如:

$orders = $_POST['orders'];
foreach($orders as $order){
 //execute ...
}

我怎么能在c#中做到这一点?

3 个答案:

答案 0 :(得分:10)

使用Request.Form.GetValues

Request.Form是NameValueCollection,一个可以在同一个键下存储项目集合的对象,ToString以CSV格式显示值。

标记:

<input type="text" name="postField[]" />
<input type="text" name="postField[]" />
<input type="text" name="postField[]" />
<input type="text" name="postField[]" />

<asp:Button Text="text" runat="server" OnClick="ClickEv" />

代码背后:

protected void ClickEv(object sender, EventArgs e)
{
    var postedValues = Request.Form.GetValues("postField[]");

    foreach (var value in postedValues)
    {

    }
}

答案 1 :(得分:3)

您将使用Request.Form[]。或者,如果您的表单和字段包含runat="server"和ids,则可以使用代码隐藏中的ID和.Text()方法来访问其值。

答案 2 :(得分:1)

您可以使用Request对象访问发送回服务器的所有内容。

Request.Form.Items

是一个包含您要查找的项目的集合。