我创建了一个具有动态行和列的矩阵类型表单。单元格包含需要由 C#(MVC4、ASP.NET 4)处理的输入字段。表格看起来像这样(简化):
<form action="~/Administration/PriceMatrix" method="post">
<input type="text" name="Prices[1][0][1]" value="15.00" />
<input type="text" name="Prices[1][0][2]" value="12.50" />
<input type="text" name="Prices[1][1][1]" value="10.00" />
<input type="text" name="Prices[1][1][2]" value="7.50" />
</form>
匹配的控制器仍然是空的:
[HttpPost]
public ActionResult PriceMatrix(object form)
{
}
当我使用时Request.Form
,我当然可以访问所有值,但它们不会(反)序列化为数组。所以我不能这样做:Request.Form["Prices"][0]
或类似的事情。相反,我只能使用它们的全名访问它们:Request.Form["Prices[1][0][1]"]
(=15.00)。当然,我可以循环遍历数组并拆分Key
每个值,但我想以其他方式进行。我试图object form
用另一种类型或包含列表等的自定义对象替换,但到目前为止还没有运气。
有什么建议么?