0

我有一個強類型局部視圖,當我啓動主視圖時,它給了我「未設置爲對象實例的對象引用」錯誤。我知道我沒有傳入任何參數,但有沒有辦法處理這個錯誤?未將對象引用設置爲對象實例 - 部分視圖

母版視圖:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
    Test Form 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<div id="partial"> 
<% Html.RenderPartial("DisplayPartial"); %> 
</div> 

</asp:Content> 

管窺:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %> 

<% foreach (var item in Model) { 
      if (item == null) continue; %> 

     <tr>    
      <td> 
       <%: item.Item1%> 
      </td> 
      <td> 
       <%: item.Item2%> 
      </td> 
     </tr> 

    <% } %> 

    </table> 

回答

1

如果你需要使這個局部視圖,當你沒有一個模式,你當然可以測試模型並不是foreach循環

if (Model != null) 
    foreach (...) 
前空
2

你有一些模型傳遞到您的partialView,因爲它需要的IEnumerable<Student.Models.vwStudent>

<% Html.RenderPartial("DisplayPartial", model); %> 

或者一個實例,如果模型不爲null,則可以檢查部分視圖。

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %> 


<% if (Model != null) { 
    foreach (var item in Model) { 
      if (item == null) continue; %> 

     <tr>    
      <td> 
       <%: item.Item1%> 
      </td> 
      <td> 
       <%: item.Item2%> 
      </td> 
     </tr> 

    <% } 
} %> 

    </table> 
相關問題