最佳答案
我有一个名为 Browse.chtml
的视图,用户可以在其中输入搜索词,或者将搜索词保留为空白。当输入搜索词时,我想将页面定向到 http://localhost:62019/Gallery/Browse/{Searchterm}
,当没有输入任何内容时,我想将浏览器定向到 http://localhost:62019/Gallery/Browse/Start/Here
。
当我尝试这样做时,我得到了错误:
当前对控制器类型“ GalleryController”的操作请求“ Browse”在以下操作方法之间是不明确的: 类型 AutoApp _ MVC. Controllers. GalleryController 上的 System.Web.Mvc.ActionResult 浏览(System.String) 类型 AutoApp _ MVC. Controllers. GalleryController 上的 System.Web.Mvc.ActionResult 浏览器(Int32,System.String)
我对 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
});