Получить текущее действие в модели просмотра MVC - PullRequest
0 голосов
/ 28 мая 2018

У меня есть модель представления, которая используется несколькими действиями.Можно ли получить название вызываемого действия и, если да, то как мне этого добиться.Мне нужно имя действия внутри пользовательской функции валидатора.

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Не уверен, что это может быть полезно для вас, но если вам нужно получить к нему доступ из представления, вы можете сделать это, получив доступ к этому:

(string)Html.ViewContext.RouteData.Values["action"]

Если вам это понадобится часто, выможно создать метод расширения следующим образом:

public static string GetAction(this HtmlHelper helper)
{
    return (string)helper.ViewContext.RouteData.Values["action"];
}

А затем просто сделайте это в представлении:

@{
    var action = Html.GetAction();
}

...
@if (action.Equals("YourAction"))
{
    ...
}
0 голосов
/ 28 мая 2018

Вы можете добавить свойство в вашей viewmodel, которое содержит то, для чего оно используется.Вы можете установить это в контроллере.

...