작업 주문 내의 항목을 나열하는 페이지가 있습니다. 이러한 각 항목에는 많은 속성과 할인 속성이 있습니다. 작업 주문에 할인이없는 경우 열을 숨기고 싶은 경우 값이있는 라인에 대해 표시해야합니다.
값은 데이터베이스에서 가져오고 Discount는 nullable 10 진수로 가져 오는 nullable 10 진수 열입니다.
컨트롤러에서 할인이 있는지 확인하고 ViewBag에 NoDiscount라는 부울을 설정합니다.
ViewBag.NoDiscount == 거짓 검사는 영광이지만, 그것이 사실이고 경우 item.Discount.HasValue 검사 테스트, 항상 true를 반환합니다.
@if (ViewBag.NoDiscount == false) {
<div class="col-xs-2" style="border-top: solid 1px #DDD;">
if (@item.Discount.HasValue) {
@item.Discount.Value.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture(ViewBag.Currency))
}
</div>
}
코드를 깨고 null 항목에 대해 Discount.HasValue가 있는지 테스트하면 false를 반환하지만 코드는 계속됩니다.
내가 얻는 오류는 다음과 같습니다.
An exception of type 'System.InvalidOperationException' occurred in mscorlib.dll but was not handled in user code
Additional information: Nullable object must have a value.
내가 묻기 전에 한 시간 동안보고, 묻고 5 분 후에 직접 해결합니다.
내 @의 위치가 잘못되었습니다.
@if (ViewBag.NoDiscount == false) {
<div class="col-xs-2" style="border-top: solid 1px #DDD;">
@if (item.Discount.HasValue) {
@item.Discount.Value.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture(ViewBag.Currency))
}
</div>
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다