Roteamento: O atual pedido de ação […] é ambíguo entre os seguintes métodos de ação
Eu tenho um View chamadoBrowse.chtml
, onde o usuário pode inserir um termo de pesquisa ou deixar o termo de pesquisa em branco. Ao digitar o termo de pesquisa, quero direcionar a página parahttp://localhost:62019/Gallery/Browse/{Searchterm}
e quando nada é digitado, quero direcionar o navegador parahttp://localhost:62019/Gallery/Browse/Start/Here
.
Quando eu tento isso, recebo o erro:
A solicitação atual de ação 'Procurar' no tipo de controlador 'GalleryController' é ambígua entre os seguintes métodos de ação: System.Web.Mvc.ActionResult Browse (System.String) no tipo AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult (Int32, System.String) no tipo AutoApp_MVC.Controllers.GalleryController
Tudo o que estou fazendo com o MVC é pela primeira vez. Não tenho certeza do que mais tentar neste 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);
}
Eu também tenho isso em 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
});