好的,现在我得到了你想要的。在您的 RouteConfig.cs(App_Start 文件夹)中,您有:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
您应该只添加另一条路线AFTER默认:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
//this is your additional route
routes.MapRoute(
name: "Login",
url: "Login",
defaults: new { controller = "Account", action = "Login"}
);
}
删除Login 方法上方的Route 属性。现在您将能够使用两个 url 调用您的方法。
替代在您的评论之后。像这样改变你的控制器:
public class AccountController : Controller
{
public ActionResult Login()
{
return Login();
}
[Route("Login")]
public ActionResult Login2()
{
return Login();
}
}