在 mvc 视图模型中获取当前操作
Get current action in mvc view model
我有一个在多个操作之间共享的视图模型。是否可以获取正在调用的操作的名称,如果可以,我该如何实现。我需要自定义验证器函数中的操作名称。
您可以在包含其用途的视图模型中添加 属性。您可以在控制器中设置它。
不确定这是否对您有用,但如果您需要从视图访问它,您可以通过以下方式访问:
(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"))
{
...
}
我有一个在多个操作之间共享的视图模型。是否可以获取正在调用的操作的名称,如果可以,我该如何实现。我需要自定义验证器函数中的操作名称。
您可以在包含其用途的视图模型中添加 属性。您可以在控制器中设置它。
不确定这是否对您有用,但如果您需要从视图访问它,您可以通过以下方式访问:
(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"))
{
...
}