2012-11-02 2 views
1

동적 행과 열이있는 행렬 형식 양식을 만들었습니다. 셀에는 C# (MVC4, ASP.NET 4)에서 처리해야하는 입력 필드가 있습니다. 양식은 (간체) 다음과 같습니다C# (ASP.NET 4.0)에서 다차원 POST 데이터 처리

<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을 다른 유형이나 목록 등을 포함하는 사용자 정의 객체로 대체하려고 시도했지만 지금까지는 행운이 없습니다.

제안 사항?

+0

"double [,,] prices'"를 매개 변수로 사용 해보셨습니까? 그냥 궁금 ... 그게 작동하는지 전혀 모르겠다 –

+0

왜 양식을 JSON으로 직렬화하지 않습니까? – AMember

답변

2

값을 사용자 정의 유형으로 가져와야합니다. 양식을 JSON으로 직렬화 한 다음 서버 측에서 원하는 방식으로 직렬화 된 양식에 액세스하는 것이 좋습니다.

관련 문제