반응형
숨겨진 입력이 true / false 대신 value =“value”를 쓰는 이유는 무엇입니까?
숨겨진 양식의 일부로 MVC4 사이트가 있습니다.
<input name="somefield" type="hidden" value="@ViewBag.Test"/>
의 값은 ViewBag.Test
입니다 true
. 양식 필드는 다음 양식의 입력 매개 변수에 게시됩니다.
public ActionResult SomeAction(bool somefield = false, ...)
그러나 somefield
항상 false
입니다. 조사 결과 소스 코드에 다음이 포함되어 있음을 알 수 있습니다.
<input name="somefield" type="hidden" value="value"/>
그러나 나는 이것이 작동 했던 것을 알고 있습니다. 무슨 일이 있었으며 어떻게해야합니까?
이 동작은 MVC3와 MVC4 사이에서 변경되었습니다. MVC3에서 다음이있는 경우 :
<input name="somefield" type="hidden" someprop="@(SomeBooleanExpression)"/>
그것은 매우 문자 그대로 쓸 것입니다.
<input name="somefield" type="hidden" someprop="True"/>
그러나 MVC4에서는 "체크 박스"등의 규칙을 따르므로 값이 다음과 같으면 다음 true
을 얻습니다.
<input name="somefield" type="hidden" someprop="someprop"/>
그리고 그것이 false
완전히 생략 된 경우 :
<input name="somefield" type="hidden"/>
이 문제를 해결하려면 다음을 고려하십시오 .ToString()
.
<input name="somefield" type="hidden"
someprop="@(SomeBooleanExpression.ToString())"/>
그런 다음 부울 규칙이 아닌 문자열 규칙을 따릅니다.
반응형
'IT TIP' 카테고리의 다른 글
메모장 ++에서 SHIFT + CTRL + Z 재정의 (0) | 2020.12.25 |
---|---|
ssh가있는 SCP : scp를 사용하여 Windows에서 원격 서버로 로컬 파일 복사 (0) | 2020.12.25 |
AsyncLocal의 의미는 논리적 호출 컨텍스트와 어떻게 다릅니 까? (0) | 2020.12.25 |
Intellij-메서드 참조로 대체 가능 (0) | 2020.12.25 |
Visual Studio의 알파벳순 방법 (0) | 2020.12.25 |