2016-11-09 99 views
0

當我使用@ Html.DisplayFor()綁定模型時,它說「值不能爲null或空」。ASP.NET MVC ViewModel始終爲空@ html.displayfor

做了以下

  1. 我檢查,該控制器通過一個有效的模型到視圖。

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

  3. 製成的@if(型號!= 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

我們可以看到剃刀視圖源的第一〜5行嗎? – clarkitect

+1

please share你的代碼 –

+0

是你在Controller中定義模型嗎?你是否將它傳遞給視圖? –

回答

0

終於得償所願。

因此,我試圖刪除DisplayFor的一個接一個,每個刪除導致下一個參數突出顯示的錯誤。 (除了一個是真正造成問題的原因。=>

這只是直到我注意到了錯誤消息「的contentPath」行並搜查起來的時候,我看到了什麼是真正引起我的問​​題。

我不明白爲什麼它跳過那條線(綁定錯誤從下往上開始),但是現在已經修復好了...... yey