bonjour,
Je suis entrain de réaliser un CMS en asp.net MVC2 avec .net 4.0. J'ai donc une notion de page et de contenu. Une page possède plusieurs contenus (article, actualité, publication, et autres). Lorsque je supprime un contenu dans une page je doit être redirigé sur la liste des contenus restant dans la page sélectionnée. Si il n'y a plus de contenu dans la page je doit être redirigé vers la page de création de contenu.
Voici l'action du delete de mon contenuController:
Et voici l'action index qui est appelé dans le redirectToAction du delete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [HttpPost] public ActionResult Delete(wsgContenu wsgContenuToDelete) { var idPage = wsgContenuToDelete.idWsgPageWsgContenu; if (_service.DeleteContenu(wsgContenuToDelete)) return RedirectToAction("Index" ,new { id = idPage }); return View(); }
Le problème est à mon avis au niveau du passage de l'id dans le redirectToAction. l'id passe en faite à 0 au lieu de rester celui de la page dans laquelle ont est.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public ActionResult Index(int id) { ViewData["nomModule"] = _service.NomModule(id); ViewData["idPage"] = id; if(_service.ListContenu(id).Count() >=1) return View(_service.ListContenu(id)); return RedirectToAction("create", new { id=id}); }
j'ai également testé de faire comme cela :
Mais le problème reste le même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [HttpPost] public ActionResult Delete(wsgContenu wsgContenuToDelete) { if (_service.DeleteContenu(wsgContenuToDelete)) return RedirectToAction("Index", new { id = wsgContenuToDelete.idWsgPageWsgContenu }); return View(); }
Je ne comprend pas pourquoi l'id de la page passe à 0 et ne reste pas celui de la page en cours surtout que j'utilise la même méthode pour les actions create et update qui elles marchent sans problème.
Si quelqu'un a une explication ou même une piste je suis preneur
Merci pour le temps passé sur mon post.
Cordialement
Partager