MVCとrenderpartialを使用してメニューを生成したかったのですが、機能させることができませんでした。読んだところ、RenderActionの方が適しているようでした。それでも私はそれを機能させることができていません。
私が意図したのは、カテゴリとして機能するデータベースから特定の記事を選択するコントローラーを作成することでした(これはHomeControllerに入れられます)。
public ActionResult MenuController()
{
var movies = from m in db.Art
where m.ArtikelNr.StartsWith("Webcat")
select m;
return View(movies);
}
次に、その情報をビューに送信します。
@model IEnumerable<xxxx.Models.Art>
@{
Layout = null;
}
<ul>
@foreach (var item in Model)
{
<li>@Html.DisplayFor(modelItem => item.Benämning_10)</li>
}
これは、通常のコントローラーとビューとして実行するだけで機能し、必要なもののリストを返します。しかし、_layout.cshtmlから呼び出したい場合(このメニューはすべてのページに表示されるため)、次のようになります。
<div id="sidebar">@Html.RenderAction(MenuController)</div>
次に、次のエラーが生成されます。
CS0103: The name 'MenuController' does not exist in the current context
_layout.cshtmlファイルからaction/view / whateverを呼び出す適切な方法は何ですか?