VB.Net에서 ASP.Net MVC 4를 사용하고 있는데 C#에서 Nullable Boolean에 대한 확인란을 만드는 방법에 대한 몇 가지 다른 답변을 보았습니다. 일반적으로 VB.Net로 변환하는 것은 꽤 간단합니다. 이것은 알아 내지 못합니다.VB.Net의 CheckBoxFor Nullable 부울
다른 대답이 할 말을 ..
을 내 EditorTemplates 폴더에 Boolean.cshtml을하고
@model bool?
@Html.CheckBox("", Model.GetValueOrDefault())
그래서 고집, 나는 EditorTemplates 폴더에서 VB의 equivelent을 시도 I 만든 Boolean.vbhtml 및
@model System.Nullable(of Boolean)
@Html.CheckBox("", Model.GetValueOrDefault)
다음 내보기에서 블록 변수
개체 또는 변수가 설정되지 :
@Html.EditorFor(Function(x) x.myNullableBool)
그 코드는이 예외를 던진다.
꽤 비슷한 C# 예제를 사용하여 여기에 게시 된 것과 매우 유사한 몇 개의 다른 장소가 있습니다. 누구든지이 VB.Net에서 작동하도록하는 방법을 알고 있습니까?
편집
이
@model System.Nullable(of Boolean)
@Html.CheckBox("", If(Model is Nothing, False, Model))
ViewModel에서 Nullable (부울)을 갖지만 확인란으로 설정하는 이유는 무엇입니까? 여전히 세 가지 가능한 '가치'가 있습니다. 대신 두 개의 다른 ViewModel을 사용하는 것이 좋습니다. 그리고 현재 DomainModel에 바인딩하는 경우 대신 ViewModels을 사용하는 것이 좋습니다. – nik
@milter - 나는 항상 2 가지 값 중 하나를 원하거나 false로하고 싶다. 데이터가 다른 소스에서 올 수 있기 때문에 db는 nullable 상태를 유지해야하며, 그 소스에서 null 일 수있다. 내 경우에는 null이 될 수있다. false가 괜찮습니다 –