-1

~/Views/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>

~/Views/Hall/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 代码中定义模型时,@Html.Partial("~/Views/Hall/Index.cshtml", model); 它给出以下错误。

编译错误

说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

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

4

1 回答 1

1

尝试大写模型,即

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

正如@webdeveloper 评论的那样,您的视图中没有声明模型!

于 2012-11-01T11:13:34.110 回答