J'ai une action post
en cas de succès, je veux rediriger l'utilisateur vers un autre site Web. ceci est mon code d'action:Rediriger vers un autre site Web à partir de l'action
[HttpPost]
public ActionResult RegistartionComplete(Customer customer)
{
if (ModelState.IsValid)
{
db1.Entry(customer).State = EntityState.Modified;
db1.SaveChanges();
return Redirect(@"http://www.google.com");
}
return View(customer);
}
le problème est que, après la db1.SaveChanges()
est exécutée Je suis en train redirigé vers la même page (selon l'URL), mais avec un message Internet Explorer cannot display the webpage
. lors du test avec un point de rupture je vois que le return Redirect(@"http://www.google.com");
est exécuté mais il me renvoie juste à la même vue d'action.
Est-ce que vous redirigez vraiment vers google.com ou est-ce juste pour illustrer ici? Avez-vous confirmé avec Fiddler (ou avec l'onglet Réseau des outils de développement du navigateur, etc.) que la redirection ne s'est pas réellement produite? Je crois que certains navigateurs ne mettront pas à jour l'URL lorsqu'une redirection mène à une page qui ne se charge pas. Donc, si votre destination ne se charge pas (ce que vous pourriez voir dans Fiddler, etc), vous obtiendrez le comportement que vous décrivez. –
Êtes-vous sûr que db1.SaveChanges() ne lève pas une exception? – Mariusz
@Erv actuellement à des fins de test je redirige vers google. c'est le code exact que j'utilise. @Mariusz la commande 'SaveChanges()' ne lance aucune erreur (l'a essayée aussi avec 'try \ catch'). – Yoav