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

〜/ビュー/ホール/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: 名前 'モデル' は現在のコンテキストに存在しません

4

1 に答える 1

1

モデルを大文字にしてみてください。

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

@webdeveloper がコメントしているように、ビューでモデルが宣言されていません!

于 2012-11-01T11:13:34.110 に答える