Я создал приложение MVC с меню базы данных.Я хочу отобразить меню с момента первой загрузки на главной странице.
, пожалуйста, помогите мне ..
Насколько я понимаю из вашего вопроса, вам нужно меню, которое вам нужно отобразить на каждой странице.Выполните следующие действия:
Создайте действие контроллера для вашего пункта меню.Примерно так:
[ChildActionOnly] public ActionResult sampleChildAction() { var model = _myMenuRepo.GetAll(); return View(model); }
Создайте представление для этого действия.Выглядит примерно так:
@{ Layout = null; } <ul> @foreach(var item in Model) { <li> <a href="@item.MyHref">@item.MyDesc</a> </li> } </ul>
Вызовите это действие из вашего макета.Код должен выглядеть примерно так:
<div> <h3>Menu</h3> @Html.Action("sampleChildAction", new { controller = "Sample" } ) </div>
Эта статья также может помочь вам:
http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx
Для дальнейшей реализации вы можетехочу рассмотреть возможность кэширования этой части вашего приложения:
http://www.tugberkugurlu.com/archive/donut-hole-caching-in-asp-net-mvc-by-using-child-actions-and-outputcacheattribute