J'ai une vue appelée Browse.chtml
, dans laquelle l'utilisateur peut entrer un terme de recherche ou laisser le terme de recherche vide. Lors de la saisie du terme de recherche, je souhaite diriger la page vers http://localhost:62019/Gallery/Browse/{Searchterm}
et lorsque rien n'est saisi, je souhaite diriger le navigateur vers http://localhost:62019/Gallery/Browse/Start/Here
.
Quand j'essaye ceci, j'obtiens l'erreur:
La demande d'action actuelle 'Parcourir' sur le type de contrôleur 'GalleryController' est ambiguë entre les méthodes d'action suivantes: System.Web.Mvc.ActionResult Browse (System.String) sur le type AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Browse (Int32, System.String) sur le type AutoApp_MVC.Controllers.GalleryController
Tout ce que je fais avec MVC est pour la première fois. Je ne sais pas quoi essayer d'autre à ce stade.
public ActionResult Browse(string id)
{
var summaries = /* search using id as search term */
return View(summaries);
}
public ActionResult Browse(string name1, string name2)
{
var summaries = /* default list when nothing entered */
return View(summaries);
}
J'ai aussi ceci dans Global.asax.cs:
routes.MapRoute(
"StartBrowse",
"Gallery/Browse/{s1}/{s2}",
new
{
controller = "Gallery",
action = "Browse",
s1 = UrlParameter.Optional,
s2 = UrlParameter.Optional
});
routes.MapRoute(
"ActualBrowse",
"Gallery/Browse/{searchterm}",
new
{
controller = "Gallery",
action = "Browse",
searchterm=UrlParameter.Optional
});