2012-03-14 1 views
0

В приложении MVC/C#, как я могу узнать программно, какой контроллер и действие выполняются без разбора URL-запроса? Есть ли способ?В настоящее время Active Controller/Action MVC .NET

Целью здесь является то, что у меня есть навигация верхнего уровня, которая в основном отображается с помощью CSS в Site.Master, и я хотел бы изменить стиль при разборке пункта меню, который был выбран последним ... в основном я ' m просто пытается дать пользовательский контекст, где они находятся на сайте. Может, я пойду неправильно?

ответ

0

Простым способом было бы добавить параметр с именем action в функцию контроллера, связующее устройство модели привяжет к нему имя действия.

2

Вы можете получить его из значений маршрута. Например, если вы находитесь в пользовательском HtmlHelper:

public static IHtmlString MyHelper(this HtmlHelper htmlHelper) 
{ 
    var rd = htmlHelper.ViewContext.RouteData; 
    var action = rd.GetRequiredString("action"); 
    var controller = rd.GetRequiredString("controller"); 
    ... 
} 
Смежные вопросы