在C#(ASP.NET 4.0)中处理多维POST数据
我创建了一个具有动态行和列的矩阵类型表单。单元格包含需要由C#(MVC4、ASP.NET 4)处理的输入字段。表单如下所示(简化): 当我使用在C#(ASP.NET 4.0)中处理多维POST数据,c#,html,asp.net-mvc,asp.net-mvc-4,http-post,C#,Html,Asp.net Mvc,Asp.net Mvc 4,Http Post,我创建了一个具有动态行和列的矩阵类型表单。单元格包含需要由C#(MVC4、ASP.NET 4)处理的输入字段。表单如下所示(简化): 当我使用Request.Form时,我当然可以访问所有的值,但它们不是(反)序列化到数组中的。所以我不能这样做:Request.Form[“Prices”][0]或类似的东西。相反,我只能使用他们的全名访问他们:Request.Form[“Prices[1][0][1]”](=15.00)。当然,我可以在数组中循环,并为每个值拆分键,但我想用其他方法。我试图用另一
Request.Form
时,我当然可以访问所有的值,但它们不是(反)序列化到数组中的。所以我不能这样做:Request.Form[“Prices”][0]
或类似的东西。相反,我只能使用他们的全名访问他们:Request.Form[“Prices[1][0][1]”]
(=15.00)。当然,我可以在数组中循环,并为每个值拆分键,但我想用其他方法。我试图用另一种类型或包含列表等的自定义对象替换对象表单
,但到目前为止没有成功
有什么建议吗?您需要以自定义类型获取值。我建议您将表单序列化为JSON,然后在服务器端以您喜欢的任何方式访问序列化表单。您是否尝试过类似“double[,]prices
”的参数?只是想知道。。。不知道这是否有效为什么不将表单序列化为JSON?
<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)
{
}