在我的MVC5項目中,我想在局部視圖中創建一個菜單。從我的數據庫中的內容構建而言,此菜單是動態的。因此,我有一個控制器以創建我的菜單和菜單模式返回到我的局部視圖的護理:MVC:如何讓控制器渲染從視圖啓動的局部視圖
public PartialViewResult GetMenu()
{
MenuStructuredModel menuStructuredModel = menuBusiness.GetStructuredMenu();
return PartialView("~/Views/Shared/MenuPartial", menuStructuredModel);
}
在我的部分觀點稱爲MenuPartial我想用剃刀遍歷我的菜單項,如:
@model MyApp.Models.Menu.MenuStructuredModel
<div class="list-group panel">
@foreach (var category in Model.ViewTypes[0].Categories)
{
<a href="#" class="list-group-item lg-green" data-parent="#MainMenu">@category.ShownName</a>
}
</div>
現在問題是我插入部分視圖的視圖。如果在我看來我只是這樣做:
@Html.Partial("MenuPartial")
它不會調用控制器先填充數據的模型。我想要的是讓控制器返回部分。但我不知道如何從這個角度來做這件事。在僞代碼,我想這樣做:
@Html.RenderPartialFromController("/MyController/GetMenu")
用'[ChildActionOnly]'裝飾'GetMenu()'方法,然後在視圖中使用'@ Html.Action(「GetMenu」,「MyController」)' – 2015-03-31 23:03:50
非常感謝。它的工作原理:-) – brinch 2015-03-31 23:08:36
@StephenMuecke您的評論必須是被接受的答案! – 2016-11-06 04:35:27