是否可以在调用之前更改操作名称?

时间:2014-02-04 19:38:21

标签: asp.net-mvc

我知道您可以使用OnActionExecuting或Action过滤器为操作方法注入参数,但是是否可以更改操作名称本身?我很想尝试这个:

    Public Overrides Sub OnActionExecuting(filterContext As ActionExecutingContext)
        filterContext.ActionDescriptor.ActionName = "SomethingElse"
    End Sub

但这不会编译,因为ActionName是ReadOnly。有办法做我需要的吗?

1 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作来更改OnActionExecuting中的重定向来更改调用的操作:

filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary() {{"action", "Index"}, {"controller", "Home"}})

另请查看此SO question