Routing: Bieżące żądanie działania […] jest niejednoznaczne między następującymi metodami działania

Mam wywoływany widokBrowse.chtml, gdzie użytkownik może wprowadzić wyszukiwane hasło lub pozostawić wyszukiwane hasło puste. Wprowadzając wyszukiwane hasło, chcę skierować stronę nahttp://localhost:62019/Gallery/Browse/{Searchterm} a kiedy nic nie zostanie wprowadzone, chcę skierować przeglądarkę dohttp://localhost:62019/Gallery/Browse/Start/Here.

Gdy to wypróbuję, pojawia się błąd:

Bieżące żądanie działania „Przeglądaj” na typie kontrolera „GalleryController” jest niejednoznaczne między następującymi metodami akcji: System.Web.Mvc.ActionResult Przeglądaj (System.String) na typ AutoApp_MVC.Controllers.GalleryController System.Web.Mvc.ActionResult Przeglądaj (Int32, System.String) na typ AutoApp_MVC.Controllers.GalleryController

Wszystko, co robię z MVC, jest po raz pierwszy. Nie jestem pewien, co jeszcze mogę spróbować w tym momencie.

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);
}

Mam to również w 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
         });

questionAnswers(4)

yourAnswerToTheQuestion