1
我创建了一个具有动态行和列的矩阵类型表单。单元格包含需要由C#(MVC4,ASP.NET 4)处理的输入字段。形式看起来像这样(简化):在C#中处理多维POST数据(ASP.NET 4.0)
<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
我当然可以访问所有的值,但他们没有(DE )序列化成一个数组。所以我不能这样做:Request.Form["Prices"][0]
或类似的东西。相反,我只能使用他们的全名访问它们:Request.Form["Prices[1][0][1]"]
(= 15.00)。当然,我可以通过数组循环,并为每个值分割Key
,但我想以其他方式执行此操作。我试图用另一个类型或自定义对象替换object form
包含列表等,但迄今没有运气。
有什么建议吗?
你有没有尝试过像''double [,,] prices'“这样的参数?只是想知道...不知道如果这是可行的 –
为什么你没有序列化成JSON形式? – AMember