找不到@html.partial模型

时间:2012-11-01 11:08:49

标签: razor model asp.net-mvc-4 partial-views renderpartial

〜/查看/ PlanBuilder / PlanBuilder.cshtml

@{
ViewBag.Title = "PlanBuilder";
Layout = "~/Views/Shared/_LayoutPlanBuilder.cshtml";
}

<div id="tabs-1">

<div id="wrap" class="left">
<ul>
@Html.Partial("~/Views/Hall/Index.cshtml");
</ul>
</div>

</div>

〜/查看/霍尔/ Index.cshtml

@model IEnumerable<ShaadiPlanner.Models.Hall>

@{
     ViewBag.Title = "Index";
     Layout = "~/Views/Shared/_LayoutPlanBuilder.cshtml";
    }

@foreach (var item in Model)  <!-- ERROR LINE -->
{
     <li id="@Html.DisplayFor(modelItem => item.ID)" class="options left">
          <div class="box-header">
               <h4 class="left"><span class="name">@Html.DisplayFor(modelItem => item.Name)</span> (@Html.DisplayFor(modelItem => item.Area))</h4>
               <h4 class="right">Rs. <span class="price">@Html.DisplayFor(modelItem => item.EstCost)</span></h4>
          </div>
     </li>
}

对象引用未设置为对象的实例。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。

注意:当我在@ Html.Partial代码中定义Model时,那么@ Html.Partial(“〜/ Views / Hall / Index.cshtml”,model);它给出了以下错误。

编译错误

描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

编译器错误消息:CS0103:当前上下文中不存在名称“model”

1 个答案:

答案 0 :(得分:1)

尝试使用大写模型,即

@Html.Partial("~/Views/Hall/Index.cshtml", Model);

作为@webdeveloper评论,您还没有在视图中声明模型!