Разумно ли сделать навигационное меню отдельным контроллером - asp mvc - PullRequest
0 голосов
/ 11 января 2012

В настоящее время у меня есть страница с меню навигации. Это меню навигации получает его элементы и подпункты из базы данных. Я думаю, что мне было бы легче контролировать это, если бы я сделал это как отдельный контроллер. Например:

public class NavigationMenu : Controller
{
    public ActionResult Menu()
    {
        Model model = // Get items and sub items
        return View(model);
    }
}

Это правильный способ сделать это, или я не должен делать это по какой-то причине?

И если я сделаю это, в этом представлении меню не будет никакого основного макета. Должен ли я удалить весь <html><head><body>... HTML-код из него или нет?

1 Ответ

3 голосов
/ 12 января 2012

Мы используем этот шаблон, хотя мы называем его NavigationController, а метод действия - TopTabs.Мы имеем его как [ChildActionOnly] и возвращаем частичное представление.Чтобы отобразить навигацию в макете, мы используем @ Html.Action ().

Я бы ответил на ваш вопрос положительным ответом и отобразил бы частичное представление как дочернее действие либо в вашем макете, либо в ваших основных видах:

[ChildActionOnly]
public class NavigationController : Controller
{
    public PartialViewResult CommonMenu()
    {
        Model model = // Get items and sub items
        return PartialView(model);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...