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> 

부분보기 :

당신이 IEnumerable<Student.Models.vwStudent>

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

또는의 인스턴스를 필요로하기 때문에, 당신의 partialView 일부 모델을 통과해야

<%@ 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 (...) 
전에 null가 아닌
2

, 모델이 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>