Ho una vista chiamata Browse.chtml
, in cui l'utente può inserire un termine di ricerca o lasciare vuoto il termine di ricerca. Quando inserisco il termine di ricerca, voglio indirizzare la pagina a http://localhost:62019/Gallery/Browse/{Searchterm}
e quando non viene inserito nulla, voglio indirizzare il browser a http://localhost:62019/Gallery/Browse/Start/Here
.
Quando provo questo, ottengo l'errore:
La richiesta corrente di azione "Sfoglia" sul tipo di controller "GalleryController" è ambigua tra i seguenti metodi di azione: System.Web.Mvc.ActionResult Sfoglia (System.String) sul tipo AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Sfoglia (Int32, System.String) sul tipo AutoApp_MVC.Controllers.GalleryController
Tutto quello che sto facendo con MVC è per la prima volta. Non sono sicuro di cos'altro provare a questo punto.
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);
}
Ho anche questo in 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
});