2011-07-28 10 views
0

여러 테이블이 포함 된 HTML을 생성하는보기가있는 .NET MVC 응용 프로그램이 있습니다 (이전보기의 사용자 입력 선택 사항에 따라 다름). 각 테이블에는 사용자가 최종 보고서로 보낼 선택을하는 데 사용할 수있는 다양한 수의 확인란 (이전보기의 사용자 선택에 의해 제어 됨)이있을 수 있습니다. 체크 박스가 생성 HTML 도우미를 통해에서 .aspx 파일에 기록되고있는 'for'루프 A : 각각의 체크 박스가 상승하는 숫자 패턴을 다음과 다른 이름을 가질 수 있도록보기에서 선택된 확인란의 수를 확인하십시오.

<%: Html.CheckBox("optionSelect" + checkCounter)%> 

checkCounter이 추가되었습니다. 다음 확인란이 새 표의 일부인 경우 번호 매기기가 재설정되지 않습니다 (즉, 첫 번째 표의 3 개 확인란은 "optionSelect1"에서 "optionSelect3"까지이고 두 번째 표의 3 개 확인란은 "optionSelect4"부터 "optionSelect6").

사용자가 선택한 항목을 제출할 때 컨트롤러 클래스에서 해당 정보를 사용할 수 있도록이보기에서 어떤 확인란을 선택했는지 확인하는 좋은 방법은 무엇입니까? 최소한 컨트롤러 클래스에 뷰에 대해 생성 된 총 체크 박스 수를 알려주는 방법이 있습니까? 저는 .NET MVC 프레임 워크가 처음 이었기 때문에 다른 사람들이 제가 놓친 다른 옵션을 지적 할 수 있다면 고맙겠습니다.

답변

1

여기 체크 박스를 잘못 사용하고 있습니다. 대신, 당신은 단순히 체크 박스의 모든 특정 이름을 정의해야하고 이들의 값은 그 이름에서 쉼표로 구분 된 서버에 게시됩니다 : 당신은 1,3를 확인할 때,이 경우

<input type="checkbox" id="1" name="Shared" value="1" /> 
<input type="checkbox" id="2" name="Shared" value="2" /> 
<input type="checkbox" id="3" name="Shared" value="3" /> 
<input type="checkbox" id="4" name="Shared" value="4" /> 
<input type="checkbox" id="5" name="Shared" value="5" /> 

서버에 게시 할 때 5, 당신은 이런 식으로 뭔가를 얻을 것입니다 :

public ActionResult Sample(string Shared) 
{ 
     // Shared is "1,3,5" 
} 

당신은 보이는 기본 HTML 양식 = D

+0

이 아, 그건 그것 같이 더 많은 것입니다 아래로 단순화하는 대신 일을과 복잡함을 할! 나는 이것을하기위한 더 간단한 방법이 있어야한다고 생각하고 있었다. :-p 입력 해 주셔서 감사합니다 - 대단히 감사합니다! – geekyhybrid

+0

모든 사용자 정의 HTML 도우미의 도움으로 처리되었습니다. :-디 – geekyhybrid

관련 문제