Вложенная главная страница MVC3 на основе только текущего контроллера - PullRequest
0 голосов
/ 05 января 2012

Я хочу сделать некоторую суб-навигацию в тестовом проекте, которую я делаю для моих собственных знаний, и я хотел, возможно, выполнить суб-навигацию в партиалах и вызвать Render для партиала просто на основе используемого контроллера , Я пытался выяснить, как другие это делают и какой лучший способ определить контроллер будет из the_Layout.cshtml?

Опять же, у меня нет ничего конкретного, для чего я это использую (поэтому нет примеров кода). Это просто, насколько мне известно, и я не знал, каким будет лучший способ добиться этого. На работе мы делаем что-то похожее, но это строго CSS, и мне лично это не нравится ...

Я знаю о renderpartial и использую его по всему сайту, но мне любопытно, использовался ли он для определения отображения навигации и средств для этого ... Уже поздно, и я устал, надеюсь, это имеет смысл. Если это не так, спросите!

1 Ответ

1 голос
/ 05 января 2012

Каков наилучший способ определить контроллер из the_Layout.cshtml?

Вы можете получить текущий контроллер и действие из RouteData:

@{
    var controller = ViewContext.RouteData.GetRequiredString("controller");
    var action = ViewContext.RouteData.GetRequiredString("action");
}

Ваш вопрос чрезвычайно расплывчатый, поэтому трудно предоставить вам более конкретные сведения, но для создания навигационных меню вы также можете использовать настраиваемые помощники html или даже целые дочерние действия (Html.Action помощник) в зависимости от сложности.

...