가능한 중복으로 설정되지 않은 : 나는 체크 박스를 생성하고 확인란 모델을 결합하는 데 필요한
ASP.NET MVC:Why does the CheckBoxFor render an additional input tag and how can I get the value using the FormCollection체크 박스 선택 값은 예상
. 모델 값 대신에 값을 false로 지정한다고 가정합니다. 아래 코드.
@Html.CheckBox("abcd",false)
출력 :
<input id="abcd" name="abcd" type="checkbox" value="true" />
<input name="abcd" type="hidden" value="false" />
생성되는 HTML의 출력은 위와 같이된다. 나는 왜 숨겨진 체크 상자가 면도기 뷰 엔진에 의해 배치되는지 이해합니다. 내 질문은 값이 false 인 경우 표시되는 확인란이 value="false"
(선택 취소)이어야합니다.
왜 value="true"
(선택)을 넣었습니까? 도우미 체크 박스에도 똑같이 적용됩니다. 무엇이 잘못 되었는가 또는 이것을 구현하는 방법을 설명 할 수 있습니까?
그래서 체크 박스를 선택하고 true 또는 false를 사용하여 체크 표시가 필요하면'@ Html.CheckBox ("abcd", false)'어떻게해야합니까? 내가 너의 대답에서 원하는 것을 얻을 수 없었기 때문에. – Desmond
@Desmond 체크 박스에 입력 된 "checked"상태는 값과 별개의 속성입니다. 텍스트 상자의 체크 표시와 체크 표시를 해제하면 value 속성은 변경되지 않지만 브라우저는 체크 박스가 선택되었는지 여부를 확인하고 체크 표시가 있으면 입력 이름/값을 게시합니다. 체크하지 않으면 아무것도 표시하지 않습니다 조금도. 따라서 값이 false로 설정된 두 번째 숨겨진 입력 필드가 자동으로 생성되는 이유는 사용자가 체크 박스를 선택하면 서버는 두 입력에 대해 두 개의 키/값 쌍을 수신하게됩니다.이 경우에는 true를 허용합니다. 그릇된. – LaserBeak