私はasp net coreアプリケーションのレイアウトページを持っています。プロジェクトのページにはさまざまなコントローラーとモデルがあります。ここでは、レイアウト・ページのための私のコードは次のとおりです。 - :データベースからレイアウトページにダイナミックメニューをバインドして、asp net coreのすべてのページに表示します
@if (ViewBag.Industries != null)
{
@foreach (var items in ViewBag.Industries)
{
<li class="level0 parent drop-menu">
<a href="index.html"><span>@items.IndustryName</span></a>
<ul class="level1">
@foreach (var subitems in items.MasterProductCategory)
{
<li class="level1 first parent"><a href="404error.html"><span>@subitems.CategoryName</span></a></li>
}
</ul>
</li>
}
}
、ここでホームコントローラのメニュー項目を取得するための私のコントローラです。 - - ここ
@Html.Partial("_Menu", Model)
は_Menuという名前の私の部分図のページがある
public ActionResult _Menu()
{
ViewBag.Industries = _context.MasterIndustry.Include(u => u.MasterProductCategory).ToList();
return PartialView("_Menu", ViewBag.Industries);
}
解決策をデバッグする際、レイアウトページから部分ページに移動していますが、メニューコントローラを呼び出さず、viewBag.Industryが空であるという結果が得られます。すべてのページとすべてのコントローラに対して、メニューコントローラを呼び出して、望ましい結果を得るように、メニューコントローラを作成してください。またはこれを解決するためのよりよい方法があるかどうか。私にお知らせください。