在我的globas.asax文件中,我有一个注册路由

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Authentication", action = "BigClientLogin", id    = UrlParameter.Optional } // Parameter defaults
        );


在我的动作“ BigClientLogin”中,它重定向到一个名为“ NewLogin”的新动作。因此,目前我当前的网址看起来像“ http://localhost:65423/Authentication/NewLogin”。但是我需要输入我的网址
http://localhost:65423/Login”格式。不能将操作名称从“ NewLogin”更改为“ Login”,因为我在解决方案中在很多地方都调用了此操作。那么在mvc路由中是否有其他解决方案呢?还是这是不可能的,更好的办法是更改我的动作名称?

最佳答案

一个简单的解决方案是使用ActionName属性。只是把这个放在你的动作方法上

[ActionName("Login")]
public ActionResult NewLogin(...)
{
    ...
}


这只会更改操作名称,如果只希望路径为/ login,请使用Route属性:

[Route("login", Name = "Login")]
public ActionResult NewLogin(...)

10-06 10:20