2015-09-18 3 views
0

Привет, ребята У меня проблемы, я хочу изменить стартовую страницу. В HomeControllers.cs у меня есть:RedirectToAction() в другую папку

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 
); 

перенаправляет исправить хранилище, но страница dosen't работа больше я предполагаю, что это меняет много путей.

ответ

1

RedirectToAction имеет другую перегрузку, которая принимает имя контроллера в качестве второго параметра:

protected internal RedirectToRouteResult RedirectToAction(
    string actionName, 
    string controllerName 
) 

Итак:

return RedirectToAction("Login", "Account"); 

Обновление е: Если вы хотите перенаправить на этот URL:

http://localhost/TutorialCS/Login.aspx 

Вы должны использовать Redirect метод:

return Redirect("~/TutorialCS/Login.aspx"); 
+0

Теперь он переходит к: localhost/TutorialCS/Account/Login.aspx Что не существует, Ввод «» вместо «Учетная запись» didn ' t помочь. – Filip

+0

Где находится Login.aspx? Это метод действия? –

+0

Он поместился в главный репозиторий \ TutorialCS \ default.aspx по умолчанию, должен ли я перемещать оба? – Filip

1

Вам просто нужно использовать вызов метода с двумя параметрами: Имя Действия и имя контроллера:

RedirectToAction("Login", "Account") 
+0

Теперь он идет: HTTP: //localhost/TutorialCS/Account/Login.aspx Который не существует, Помещение «» вместо «Учетная запись» не помогло ни – Filip

Смежные вопросы