2011-06-06 4 views
0

J'ai deux actions qui listent des éléments. Index() répertorie tous les éléments et Filtered (string foo) filtre la liste des éléments basés sur foo. Lorsqu'un utilisateur crée un nouvel élément, je souhaite pouvoir le rediriger vers Index() ou Filtered (chaîne foo) en fonction de l'endroit où il se trouvait auparavant.Historique des actions MVC

Comment puis-je faire cela, ou retravailler mes actions pour que cela fonctionne?

Répondre

0

Vous pouvez modifier votre ActionResult pour qu'il accepte une chaîne qui contient le chemin d'URL d'origine de l'utilisateur.

Quelque chose comme ceci:

[HttpPost] 
    public ActionResult CreateFoo(Blah model, string returnUrl) 
    { 
     // Do something here 
     if (!String.IsNullOrEmpty(returnUrl)) // As long as a return URL was passed 
     { 
      return Redirect(returnUrl); // Return them to this URL 
     } 
     else 
     { 
      return RedirectToAction("Index", "Home"); // Otherwise Go Home 
     } 
    } 

Je n'ai pas une tonne d'expérience avec ASP.NET MVC de sorte qu'il pourrait être mieux construite de manière à gérer cela. Google pour 'asp.net mvc rediriger vers le demandeur' pourrait donner quelque chose de plus utile, c'est essentiellement ce que vous voulez est de rediriger vers la route de la demande.

+0

C'est la seule idée que j'avais aussi, mais j'espérais que quelque chose me manquait ou quelqu'un avec plus d'expérience savait qu'il y avait un meilleur moyen de le contourner. Merci pour le post et si je ne trouve rien d'autre, je reviendrai et marquerai cela comme la réponse. – schwechel

+0

Il semblerait que ce serait une demande commune et serait traitée par le cadre. Je ne suis pas sûr d'aimer l'utilisation de la négation avant l'appel isnullorempty. Je pense que je laisser tomber cela et juste inverser les instructions if/else. –

Questions connexes