我的母版页中有一个简单的搜索表单和一个serach控制器和视图.
我正在尝试为字符串搜索术语“myterm”获取以下路由(例如):
根/搜索/ myterm
我正在尝试为字符串搜索术语“myterm”获取以下路由(例如):
根/搜索/ myterm
母版页中的表单:
<% using (Html.BeginForm("SearchResults","Search",FormMethod.Post,new { id = "search_form" })) { %> <input name="searchTerm" type="text" class="textfield" /> <input name="search" type="submit" value="search" class="button" /> <%} %>
控制器行动:
public ActionResult SearchResults(string searchTerm){...}
我正在使用的路线:
routes.MapRoute( "Search","search/{term}",new { controller = "Search",action = "SearchResults",term = (string)null } ); routes.MapRoute( "Default","{controller}/{action}",new { controller = "Home",action = "Index" } );
无论我输入什么搜索词,我都会在没有搜索词的情况下获得网址“root / search”.
谢谢.
解决方法
您在beginform标记中使用了ID,在路线中使用了{term}.
两者需要匹配.