当我使用@ Html.DisplayFor()绑定我的模型时,它表示“值不能为null或为空”。
以下
我检查过控制器将有效模型传递给视图。
确保参数具有相应的{get; set;}。
在视图中制作了@if(Model!= null&& Model.Param!=“”)
有趣的是,它可以在AdminArea中运行,而不是在StoreArea中运行。这两个领域都使用相同的模型
编辑:
@using System.Web.UI.HtmlControls
@using SU.Plugin.Payments.BankDeposit.Models.
@{
Layout = "~/Views/Shared/Master.cshtml";
}
@model OrderPaymentModel
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h2>Payment Form</h2>
@if (Model.Status == PaymentStatus.Invalid)
{
@Html.ActionLink("Edit payment details", "OrderPayment", new {orderId = Model.OrderId, mode = "edit"})
}
<div class=custom-page-box-div>
<div class="fieldset">
<div class="form-fields">
<div class="form-group row">
<div class="col-md-2">
<label class="col-md- control-label"> @Html.LabelFor(model => model.BankPaidTo)</label>
</div>
<div class="col-md-8">
@Html.DisplayFor(c => c.BankPaidTo.DisplayName)
@Html.DisplayFor(model => model.BankPaidTo.DisplayName)
</div>
</div>
<div class="form-group row">
<div class="col-md-2">
@Html.LabelFor(model => model.TransactionNumber)
</div>
<div class="col-md-8">
@Html.DisplayFor(model => model.TransactionNumber)
</div>
</div>
<div class="form-group row">
<div class="col-md-2">
@Html.LabelFor(model => model.PaidAmount)
</div>
<div class="col-md-8">
@Html.DisplayFor(model => model.PaidAmount)
</div>
</div>
<div class="form-group row">
<div class="col-md-2">
@Html.LabelFor(model => model.DatePaidDay)
</div>
<div class="col-md-8 datepicker-dropdowns">
@Html.DisplayFor(model => model.DateOfTransaction)
</div>
</div>
<div class="form-group row">
<div class="col-md-2">
Deposit Slip
</div>
<div class="col-md-8">
<img src="@Url.Content(Model.DepositSlipUrl)">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
终于明白了。
所以我尝试逐个删除DisplayFor,每次删除都会导致下一个参数突出显示错误。 (除了实际导致问题的那个。=&gt;
直到我注意到错误消息中的“contentPath”行,并在我看到真正导致问题的原因时搜索了它。
我没有理解为什么它跳过那一行(绑定错误从下往上开始)。但它现在已经修好了..是的。