asp.net MVC レイアウト ページの共有コンテンツ (ナビゲーション) の設定に取り組んでいます。
モデルからナビゲーション データを取得するためのコードを含む部分ビュー "_LayoutPartial.cshtml" を次に示します。
@model MyApp.Models.ViewModel.LayoutViewModel
<p>
@foreach (var item in Model.navHeader)
{
//Test dump of navigation data
@Html.Encode(item.Name);
@Html.Encode(item.URL);
}
</p>
私のコントローラー「LayoutController.cs」のコードは次のようになります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MyApp.Models.ViewModel;
namespace MyApp.Controllers
{
public class LayoutController : Controller
{
//
// GET: /Layout/
LayoutViewModel layout = new LayoutViewModel();
public ActionResult Index()
{
return View(layout);
}
}
}
「_Layout.cshtml」ページのコードは次のとおりです。Html.RenderAction(Action,Controller) メソッドを使用して、ここで部分ビューを呼び出そうとしています。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<p>
@{Html.RenderAction("Index","Layout");}
</p>
@RenderBody()
</body>
</html>
レイアウト ページで @{Html.RenderAction("Index","Layout");} 行を実行すると、エラー メッセージ「ハンドラ 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper' の子要求の実行中にエラーが発生しました。」がスローされます。
友達がいないのは何ですか?レイアウト ページで部分ビューを呼び出すにはどうすればよいですか?
よろしくお願いします!