2010-05-14 8 views
2

J'ai la méthode d'action suivante que j'essaye de rediriger si l'utilisateur est valide. Mais rien ne se passe. Le point d'arrêt de la méthode d'action redirigé vers n'est jamais atteint.Je ne peux pas obtenir RedirectToAction pour fonctionner

[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"); 
      } 


     } 

Et dans un autre contrôleur, j'ai la méthode d'action suivante que je suis en train de rediriger vers:

// 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(); 
    } 

Y at-il de toute évidence de mal à ce que je fais? Quelqu'un pourrait-il suggérer une approche différente que je pourrais prendre?

Répondre

5

Essayez de régler le paramètre routeValues avec this overload:

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

HI Bruno, pour null il donne l'erreur "ne peut pas affecter à la propriété de type anonyme". Quand j'essaie avec string.empty juste pour que ça marche, ça ne fait rien. Merci bien – DaveDev

+0

Ups. Pardon. Vous avez besoin d'un casting à (int?) Là. Actualisé. –

Questions connexes