В моем _Layout я пытаюсь вызвать представление и его контроллер. Просмотр - Menu.cshtml.Вызов вида и его контроллера от _Layout
Проблема в том, что меню просмотра не распознает его параметры.
_layout (в папке/Shared /):
<div id="menu" >
@Html.Partial("~/Views/Menu/Menu.cshtml")
</div>
Menu.cshtml (в папке/Просмотров /):
@model MenuModel
<ul id="menu">
@{
foreach (var iteparent in Model.ParentMenuModel) // Error: Model.ParentMenuController is not recognized
{
// do some stuff
}
}
</ul>
MenuController (в папке/Контроллеры /)
public class MenuController : Controller
{
public ActionResult Index()
{
MenuModel objmenumodel = new MenuModel();
objmenumodel.ParentMenuModel = new List<BE_MENU>();
objmenumodel.ParentMenuModel = ParentMenuList();
return PartialView(objmenumodel);
}
public List<BE_MENU> ParentMenuList()
{
List<BE_MENU> objparentmenu = new List<BE_MENU>();
objparentmenu.Add(new BE_MENU { ID_MENU = 1, TXT_MENU = "Home", PARENT_ID = 0, URL = "#" });
return objparentmenu;
}
}
Когда меню просмотра загружено, оно получает ошибку, поскольку параметр Model.ParentMenuModel не распознается.
Каков правильный способ вызова вида и его контроллера из _Layout?
Я могу запустить его без ошибок, когда View находится в папке Shared, но хотел бы вызвать независимый View и его контроллер.
EDIT:
Я пытался использовать @ Html.Action ("Index", "Меню"), но получает сообщение об ошибке.
Я попробовал то, что вы предложили, но он получает сообщение об ошибке. Можно ли вызвать вид, который не находится в общей папке, из _Layout? – Delmonte
Какая ошибка вы получаете? Да. вы можете вызвать представление из другой папки, кроме общей папки. Вам просто нужно указать полный путь. – Shyju