Маршрутизация: текущий запрос на действие […] неоднозначен между следующими методами действия
У меня есть вид называетсяBrowse.chtml
где пользователь может ввести поисковый запрос или оставить его пустым. При вводе условия поиска я хочу направить страницу наhttp://localhost:62019/Gallery/Browse/{Searchterm}
и когда ничего не введено, я хочу, чтобы браузерhttp://localhost:62019/Gallery/Browse/Start/Here
.
Когда я пытаюсь это сделать, я получаю сообщение об ошибке:
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
Все, что я делаю с MVC, впервые. Я не уверен, что еще можно попробовать на этом этапе.
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);
}
У меня также есть это в 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
});