我有一个动态表单,允许动态添加多个字段,
我知道如何使用以下方法获取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#中做到这一点?
答案 0 :(得分:10)
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
是一个包含您要查找的项目的集合。