면도날을 사용하는 양식의 숨겨진 필드에 몇 가지 값을 입력했습니다. 양식을 제출할 때 Entity Framework가 특정 필드의 context.tt
모델에서 만든 유효성 검사를 통과하지 못합니다. 제출할 때 필드가 null 일 수 없다는 오류가 발생합니다. 이로 인해 HTML에서 값이 null이라고 믿게되었습니다. 나는 소스를 선택하면이 내가 볼 것입니다 : ID LoanStatus
와 input
설정 값을 갖는 이유가 궁금하지만, 그것이 null이 될 수 없다는 오류를 던지고있다숨겨진 필드의 값이 EF 컨텍스트 모델로 전달되지 않습니다.
<input Value="1" data-val="true" data-val-number="The field PoolType must be a number." id="PoolType" name="PoolType" type="hidden" value="" />
<input Value="Not Complete" id="LoanStatus" name="LoanStatus" type="hidden" value="" />
<input Value="2012-12-12 09:26.39" data-val="true" data-val-required="The DateStamp field is required." id="DateStamp" name="DateStamp" type="hidden" value="" />
. throw 된 예외는 다음과 같습니다.
System.Data.ConstraintException이 속성을 null 값으로 설정할 수 없습니다.
HTML의 값을 설정하려면 ViewBag, ViewBag.LoanStatus = "Not Complete";
을 사용하여 컨트롤러에서 값을 설정하십시오. 그렇다면 cshtml 파일 @Html.HiddenFor(model => model.LoanStatus, new { @Value = ViewBag.LoanStatus })
제가 누락 된 것이 있습니까? 저는 MVC 및 Entity Framework를 처음 사용하고 있습니다.
편집 - 추가 코드 더 많은 숨겨진 요소
@Html.HiddenFor(model => model.ID, new{ @Value = ViewBag.ID })
@Html.HiddenFor(model => model.Reason, new{ @Value = ViewBag.Reason })
@Html.HiddenFor(model => model.PoolType, new{ @Value = ViewBag.PoolType })
@Html.HiddenFor(model => model.LoanStatus, new{ @Value = ViewBag.LoanStatus })
@Html.HiddenFor(model => model.DateStamp, new{ @Value = ViewBag.DateTime })
및 HTML 도우미없이 .cshtml 파일
<input type="hidden" name="LoanStatus" id="LoanStatus" data-val="true" value="@ViewBag.LoanStatus" />
을에서 라인을
<input Value="55" data-val="true" data-val-number="The field ID must be a number." data-val-required="The ID field is required." id="ID" name="ID" type="hidden" value="" />
<input Value="1" data-val="true" data-val-number="The field Reason must be a number." id="Reason" name="Reason" type="hidden" value="" />
<input Value="1" data-val="true" data-val-number="The field PoolType must be a number." id="PoolType" name="PoolType" type="hidden" value="" />
<input Value="Not Complete" id="LoanStatus" name="LoanStatus" type="hidden" value="" />
<input Value="2012-12-12 10:00.46" data-val="true" data-val-required="The DateStamp field is required." id="DateStamp" name="DateStamp" type="hidden" value="" />
편집 코드를 생성 된 HTML HTML 소스에서
라인 <input type="hidden" name="LoanStatus" id="LoanStatus" data-val="true" value="Not Complete" />
조치 방법 코드를 표시 할 수 있습니까? – vtortola
왜 그 행에 "값"이 두 번 나타 납니까? – IronMan84
@vtortola 당신은 context.tt에서 유효성 검사를 수행하는 메서드를 의미합니까? – DFord