2013-12-15 2 views
1

컨트롤러에서 임의의 양의 매개 변수를 가져 오려고합니다. 나는 코드가 내가 좋아하는 뭔가를했습니다 내보기에ASP.NET MVC 동적 매개 변수

:-) 내 문제를 설명 할 것입니다 생각 :

i (예 4) 임의의 값입니다
<%: Html.CheckBox("Time" + (i-1)) %> 

. 문제는 내가 지금 i하지 않는 것입니다,

public ActionResult Test(int Time0, Time1, Time2, Time3) { 
    //some code 
} 

그러나 :

그래서, 경우 i에 실제로 4이고, 내 컨트롤러 방법과 같이 woul. 따라서 컨트롤러는 무작위로 params를 받아 들여야합니다.

아이디어가 있으십니까?

답변

2

은 다음과 같이 당신의 체크 박스를 만들기 :

<%: Html.CheckBox("Time[" + i + "]") %> 

i 순차적 있는지 확인합니다. 즉, 1, 2, 3, 5가 없습니다 (4 제외). 실제로 순차적이지 않은 인덱스를 가질 수 있지만 인덱스 자체에 또 다른 input을 만들어야합니다.

귀하의 작업은 다음과 같아야합니다

public ActionResult SomeAction(int[] time) 
{ 

} 

는 ASP.NET MVC에 바인딩 수집에 대한 자세한 내용이 링크를 참조하십시오 : http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/

0

다음과 같이 인수를 설정하십시오. int[] parameters.

+0

이 작동하지 않습니다. 적어도 기본 모델 바인더를 사용하지 않는 C# params 키워드는 ASP.NET MVC에 적용되지 않습니다. –

+0

@ AndréPena 당신 말이 맞아요. +1 나와 당신의 대답을 정정하십시오. – KrishnaDhungana

+0

고마워요 @KrishnaDhungana –