Routing: Die aktuelle Handlungsanforderung […] ist zwischen den folgenden Handlungsmethoden nicht eindeutig
Ich habe eine Ansicht aufgerufenBrowse.chtml
Hier kann der Benutzer einen Suchbegriff eingeben oder den Suchbegriff leer lassen. Bei der Eingabe des Suchbegriffs möchte ich die Seite an leitenhttp://localhost:62019/Gallery/Browse/{Searchterm}
und wenn nichts eingegeben wird, möchte ich den Browser zu leitenhttp://localhost:62019/Gallery/Browse/Start/Here
.
Wenn ich das versuche, erhalte ich den Fehler:
Die aktuelle Anforderung der Aktion 'Durchsuchen' für den Controllertyp 'GalleryController' ist zwischen den folgenden Aktionsmethoden nicht eindeutig: System.Web.Mvc.ActionResult Browse (System.String) für den Typ AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Browse (Int32, System.String) Geben Sie AutoApp_MVC.Controllers.GalleryController ein
Alles, was ich mit MVC mache, ist zum ersten Mal. Ich bin mir nicht sicher, was ich noch versuchen soll.
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);
}
Ich habe dies auch 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
});