Enrutamiento: la solicitud actual de acción [...] es ambigua entre los siguientes métodos de acción
Tengo una vista llamadaBrowse.chtml
, donde el usuario puede ingresar un término de búsqueda, o dejar el término de búsqueda en blanco. Al ingresar el término de búsqueda, quiero dirigir la página ahttp://localhost:62019/Gallery/Browse/{Searchterm}
y cuando no se ingresa nada, quiero dirigir el navegador ahttp://localhost:62019/Gallery/Browse/Start/Here
.
Cuando intento esto, me sale el error:
La solicitud actual de acción 'Buscar' en el tipo de controlador 'GalleryController' es ambigua entre los siguientes métodos de acción: System.Web.Mvc.ActionResult Browse (System.String) en el tipo AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Browse (Int32, System.String) en el tipo AutoApp_MVC.Controllers.GalleryController
Todo lo que hago con MVC es por primera vez. No estoy seguro de qué más probar en este 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);
}
También tengo esto en 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
});