Je suis donc les tutoriels NerdDinner de ScottGu, et j'ai du mal à contourner cette erreur. Je suis en train de mettre en œuvre CRUD, donc dans un premier temps, alors que les données d'édition, j'ai commencé avec ce code:Avoir un problème à comprendre pourquoi NerdDinner MVC retourne une erreur
public ActionResult Edit(int id)
{
Dinner dinner = dinnerRepository.GetDinner(id);
return View(dinner);
}
qui affiche Edit View correctement, et me donne des champs à modifier mes données. Maintenant, quand je continue et mon action Edit se transforme en:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection formValues)
{
Dinner dinner = dinnerRepository.GetDinner(id);
UpdateModel(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id = dinner.DinnerID });
}
Je renvoie une erreur 404. Apparemment, la vue Modifier ne peut pas être trouvée. J'ai vraiment du mal à comprendre pourquoi cela se passe. J'ai même essayé de copier la syntaxe exacte (ce que je n'aime pas faire) mais pas de chance. Ai-je manqué quelque chose d'aussi évident?
EDIT: J'arrive dès que j'ajouter cette ligne:
[AcceptVerbs (HttpVerbs.Post)]
qui peut aider?
Est-ce que le 404 se passe sur le GET ou le POST? La première méthode est pour le GET, la seconde est pour le POST. Comme le dit blowdart, nous ne modifions PAS la méthode d'édition, mais nous en ajoutons une seconde. –