2011-12-10 2 views
0

나는 foreach는 느릅 나무가 채워 가지고 테이블과 라인 테이블의 하나 개의 필드는 다음과 같습니다 제가으로 Request.Form [ "45"] (45 잡으려고 내 게시물 기능 내부Double CheckBox 만들기 실수?

<% foreach (var item in Model.List){%> 
    <td align="center"> 
     <%: Html.CheckBox(item.ID.ToString(),item.isChecked)%> 
    </td> 
<%}%> 

샘플 ID입니다) "true, false"값이 수신되고 있음을 확인했습니다.

는 생성 된 코드로 살펴보면, 난 그냥 보았다 :

임 그냥 하나 개의 입력을 생성하도록 요청 이후 어떻게 그것의 가능한
<input name="45" type="checkbox" value="true" /><input name="45" type="hidden" value="false" /> 

? 나는이 경우에 을 사용하는 것이 더 나은지 잘 모릅니다.

고마워요!

답변

3

당신은 설명 here

에게 모두 루비 온 레일즈와 모노레일이 사용하는 것과 동일한 접근 방식을 읽을 수 있습니다.

확인란을 사용하여 양식을 제출하면 확인란을 선택하면 값이 게시됩니다. 따라서 확인란을 선택하지 않은 상태로두면 많은 상황에서 을 보내지 않으면 서버에 아무 것도 보내지지 않습니다. 숨겨진 입력의 이름이 인 확인란이 선택되어 있지 않은 경우 확인란을 선택하지 않으면 'false'가 서버로 전송됩니다. 확인란을 선택하면 그 모델이 알아서 있도록 ModelBinder를 자동으로 에서 '사실'을 추출하는 '참, 거짓'

왜 당신이 모델을 사용하지 않도록주의를 취할 것입니다. asp.net-mvc에서는 요청 객체 사용을 권장하지 않습니다. actionresult에 formcollection 매개 변수를 사용하고 this 접근 방식을 사용하여이 시나리오를 처리 할 수도 있습니다.

헬퍼가 요구 사항에 맞지 않는 경우 항상 html 태그를 사용할 수 있습니다.