2013-07-18 3 views
0

Ниже один Войти функция в мой контроллер:RedirectToAction не работает в контроллер

[HttpPost] 
public ActionResult LogIn(string email, string password) 
{   
    return RedirectToAction("Index", "Home");   
} 

Это вызывает функцию индекс HomeController, но тот же экран Войти экран остается на то есть браузер. Ниже перечислены маршруты в моем приложении MVC:

public static void RegisterRoutes(RouteCollection routes) 
{ 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

Я не уверен, в чем проблема. Я ищу сеть для этого, но есть проблема в проблеме, с которой сталкиваются другие пользователи.

Update

HomeController:.

public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 

      return View(); 
     } 

     public ActionResult About() 
     { 
      ViewBag.Message = "Your app description page."; 

      return View(); 
     } 

     public ActionResult Contact() 
     { 
      ViewBag.Message = "Your contact page."; 

      return View(); 
     } 
    } 
+0

Можете ли вы разместить свой HomeController? – cadrell0

+0

Не могли бы вы проверить запросы, используя Fiddler или панель разработчика в браузере? Я подозреваю, что на другом контроллере есть фильтр, который отправляет вас обратно в систему, потому что вы еще не вошли в систему. –

+0

. Вы индексируете действие на Home Controller '' AllowAnonymous'. – James

ответ

0

страницы, такие как на странице индекса на главном контроллере потребуется [AllowAnonymous] декорирования действие, чтобы позволить страницу для просмотра без регистрации в

сделать это

public class HomeController : Controller 
    { 
     [AllowAnonymous] 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 

      return View(); 
     } 

Вам также понадобится

[HttpPost] 
[AllowAnonymous] 
public ActionResult LogIn(string email, string password) 
{   
    return RedirectToAction("Index", "Home");   
} 
+0

Сделал это. Все тот же экран входа. – Nitish

+0

Если вы поместите точку останова на 'RedirectToAction', это ударит? – James

+0

Да Функция индекса HomeController называется, о которой я уже упоминал в своем вопросе. – Nitish

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