Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 是否可以在操作名称之前更改它';什么事?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 是否可以在操作名称之前更改它';什么事?

Asp.net mvc 是否可以在操作名称之前更改它';什么事?,asp.net-mvc,Asp.net Mvc,我知道您可以使用OnActionExecuting或操作过滤器向操作方法注入参数,但是否可以更改操作名称本身?我很想试试这个: Public Overrides Sub OnActionExecuting(filterContext As ActionExecutingContext) filterContext.ActionDescriptor.ActionName = "SomethingElse" End Sub 但这不会编译,因为ActionName是只

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

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

但这不会编译,因为
ActionName
是只读的。有什么方法可以满足我的需要吗?

您可以通过从OnAction执行重定向来更改调用的操作,方法如下:

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