簡體   English   中英

ASP.NET MVC ViewModel始終為null @ html.displayfor

[英]ASP.NET MVC ViewModel always null @html.displayfor

當我使用@ Html.DisplayFor()綁定模型時,它表示“值不能為null或為空”。

做了以下

  1. 我檢查了控制器是否將有效模型傳遞給視圖。

  2. 確保參數具有相應的{get; set;}。

  3. 在視圖中創建一個@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>

終於明白了。

因此,我嘗試一個一個地刪除DisplayFor的對象,每次刪除都會導致下一個參數突出顯示並顯示錯誤。 (除了實際上引起問題的那一個。=>

直到我注意到錯誤消息中的“ contentPath”行,並在發現真正引起問題的原因時對其進行搜索。

我不明白為什么它會跳過那行(綁定錯誤從下而上開始)。 但是現在固定了..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM