2010-05-14 3 views
2

У меня есть следующий метод действий, который я пытаюсь перенаправить, если пользователь действителен. Но ничего не происходит. Точка останова в методе перенаправленного действия никогда не попадает.Я не могу заставить RedirectToAction работать

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Login(User user) 
    { 
     try 
      { 
       if (ModelState.IsValid) 
       { 
        if (userRepository.ValidUser(user)) 
        { 
         return RedirectToAction("Index", "Group"); 
        } 
        else 
        { 
         return Json("Invalid"); 
        } 

       } 
      } 
      catch (Exception) 
      { 
       return Json("Invalid"); 
      } 


     } 

А в другой контроллер, я следующий метод действий, что я пытаюсь перенаправить:

// HttpVerbs.Post doesn't work either 
    [AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult Index(int? page) 
    { 
     const int pageSize = 10; 
     IEnumerable<Group> groups = GetGroups(); 
     var paginatedGroups = new PaginatedList<Group>(groups, page ?? 0, pageSize); 
     return View(paginatedGroups); 
    } 

    private IEnumerable<Group> GetGroups() 
    { 
     return groupRepository.GetGroups(); 
    } 

Есть ли что-то явно не так с тем, что я делаю? Может ли кто-нибудь предложить другой подход, который я мог бы предпринять?

ответ

5

Попробуйте установить параметр routeValues с this overload:

return RedirectToAction("Index", "Group", new { page = (int?)null }); 
+0

HI Бруно, за нуль дает ошибку «Невозможно назначить для анонимного типа имущества». Когда я пытаюсь использовать string.empty, чтобы заставить его работать, он ничего не делает. Спасибо, хотя – DaveDev

+0

Ups. Сожалею. Вам нужно бросить (int?). Обновлено. –

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