Tengo una vista llamada Browse.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, deseo dirigir la página al http://localhost:62019/Gallery/Browse/{Searchterm}
y cuando no se ingresa nada, deseo dirigir el navegador al http://localhost:62019/Gallery/Browse/Start/Here
.Enrutamiento: la solicitud actual de [...] acción es ambigua entre los siguientes métodos de acción
Cuando intento esto, me sale el error:
The current request for action 'Browse' on controller type 'GalleryController' is ambiguous between the following action methods: System.Web.Mvc.ActionResult Browse(System.String) on type AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Browse(Int32, System.String) on type AutoApp_MVC.Controllers.GalleryController
Todo lo que estoy haciendo con MVC es por primera vez. No estoy seguro de qué más probar en este momento.
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
});
Entonces, ¿tendré que crear una nueva vista en su ejemplo anterior? Parece que no ayuda usar la etiqueta ActionName, ya que creo que solo funciona para cambiar el nombre de todos los métodos de acción (no se pueden mantener ambos al mismo tiempo). Es bueno saber cómo funciona MVC. Gracias. – Dave
No, no necesita crear ninguna vista nueva. Todavía puede reutilizar la misma vista para ambas acciones. Simplemente pase el nombre de la vista como el primer argumento para 'devolver vista (" Buscar ", resúmenes);' – danludwig
Genial, gracias. – Dave