在mvc视图模型中获取当前操作

时间:2018-05-28 11:59:00

标签: c# asp.net-mvc asp.net-mvc-viewmodel

我有一个在多个动作之间共享的视图模型。是否可以获取正在调用的操作的名称,如果是,我该如何实现。我需要自定义验证器函数中的操作名称。

2 个答案:

答案 0 :(得分:1)

您可以在viewmodel中添加包含其用途的属性。您可以在控制器中进行设置。

答案 1 :(得分:0)

不确定这是否对你有用,但是如果你需要从视图中访问它,你可以通过访问它来实现:

(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"))
{
    ...
}