J'ai ActionResult que regarder ceci:Comment puis-je avoir un routage comme ce contrôleur/action/id/string dans ASP.NET MVC
public ActionResult Comment(int id)
{
var news = re.GetNewsByID(id);
NewsViewModel model = new NewsViewModel();
model.Description = news.Description;
model.Imageurl = news.Image;
model.link = news.Link;
model.PubDate = news.Date;
model.Title = news.Title;
return View(model);
}
et à l'intérieur de la vue, je l'ai déclaré:
@Html.ActionLink("Comment", "Comment", new { id = item.Title })
Lorsque je clique sur le ActionLink je reçois à l'adresse suivante:
Home/Comment/403
Mais je veux que ça finisse avec le item.title.
Quelque chose comme ceci:
Home/Comment/403/What-ever-the-item-title-contains
Comment puis-je y parvenir?
Il faut être prudent avec plusieurs paramètres de routage optionnels car cela peut conduire à des choses sournoises -http: //haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url -parameters.aspx Si les deux paramètres sont nécessaires pour cette route, ne les marquez pas en option – Tommy
Hmmm n'était pas au courant de ce bug/problème. Merci pour le lien Tommy. Je pense toujours que dans le cas de Juliano, il a besoin d'une deuxième route qui a un paramètre id qui n'est pas optionnel mais un paramètre de titre qui est optionnel car avoir un titre n'a aucun sens sans avoir un identifiant d'article. Cela résout le problème avec le bug et résout son problème. En passant, ce bug est-il encore un problème dans MVC 4? – Marko
@Marko, Une question, si un article a le même titre mais un identifiant différent. cela va-t-il mener à des choses changeantes? – Obsivus