嘿伙计我有轻松的问题,我想更改起始页面。
在HomeControllers.cs
我有:
public ActionResult Index()
{
if (Session["LoginId"] == null)
{
return RedirectToAction("Login.aspx");
}
return View();
}
重定向到:http://localhost/TutorialCS/Home/Login.aspx
但我想摆脱/Home
在Global.asax.cs
我改变的时候;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
到没有{Controller}
的人:
routes.MapRoute(
"Default", // Route name
"{action}/{id}", // URL with parameters
new { action = "Index", id = "" } // Parameter defaults
);
它重定向到正确的存储库,但页面不再起作用我想这会改变很多路径。
答案 0 :(得分:2)
RedirectToAction有另一个重载接受控制器名称作为第二个参数:
protected internal RedirectToRouteResult RedirectToAction(
string actionName,
string controllerName
)
所以:
return RedirectToAction("Login", "Account");
更新:如果您想重定向到此网址:
http://localhost/TutorialCS/Login.aspx
您应该使用Redirect方法:
return Redirect("~/TutorialCS/Login.aspx");
答案 1 :(得分:1)
您只需要使用带有两个参数的方法调用:操作名称和控制器名称:
RedirectToAction("Login", "Account")