asp.net-mvcpartial-viewsstrongly-typed-viewhtml.renderpartial

Object reference not set to an instance of an object - Partial View


I have a strongly typed partial view which is giving me "Object reference not set to an instance of an object" error when I launch the master view. I know I am not passing in any parameters yet, but is there a way to handle this error?

Master View:

<%@ 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>

Partial View:

<%@ 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>

Solution

  • If you need to render this partial view when you don't have a Model, you can certainly test that Model is not null before the foreach loop

    if (Model != null)
        foreach (...)