1
의 ViewModel :도우미 EditorFor에서 자동 채우기를 중지하는 방법?
[Required]
public int Hours { get; set; }
면도기 :
@Html.EditorFor(m => m.Hours)
출력 : 제공 무엇
<input type="text" value="0" name="Hours" id="Hours"
data-val-required="The field is required."
data-val-number="The field must be a number."
data-val="true" class="text-box single-line valid">
, 값이 자동으로 꽤 많은 점에서 검증을 우회한다 0으로 채워하는 이유 사용자는 실제로 아무것도 입력하지 않고이를 제출할 수 있습니다.
내가 dropdownfor 목록과 이런 짓을했는지. nullable 형식을 사용하면 자동 채우기가 변경되는 이유는 정확히 무엇입니까? 또한, (C#에서 Hours.value를 읽는 것 외에) 부작용이 있습니까? –
'@ Html.EditorFor (m => m.Hours)'를 쓸 때 모델에 Hours 값이 포함되어 있지 않으면 프레임 워크는 거기에 값을 넣어야합니다. 그래서 당신의 경우에는 타입의 기본값 인 0을 사용합니다. 문자열과 참조 타입의 경우 기본값은'null '이며'value = ""'로 변환됩니다. 'Hours.Value' 액세스 모드 옆에 nullable로 인한 문제는 없습니다. – nemesv
다른 방법이 있습니까? 뷰 모델에 int가 아닌 int가 있어야합니까? 그러나 나는 새로운 창조물에서 '비어있는'형태로 시작하기를 원합니다. –