在ASP.NET MVC中搜索路径

vob*_*obs 7 asp.net asp.net-mvc search action routes

我的母版页中有一个简单的搜索表单和一个serach控制器和视图.我正在尝试为字符串搜索术语"myterm"(例如)获取以下路由:root/search/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" />
                        <%} %>
Run Code Online (Sandbox Code Playgroud)

控制器行动:

public ActionResult SearchResults(string searchTerm){...}
Run Code Online (Sandbox Code Playgroud)

我正在使用的路线:

routes.MapRoute(
          "Search",
          "search/{term}",
          new { controller = "Search", action = "SearchResults", term = (string)null }
        );

routes.MapRoute(
          "Default",
          "{controller}/{action}",
          new { controller = "Home", action = "Index" }
        );
Run Code Online (Sandbox Code Playgroud)

无论我输入什么搜索词,我总是在没有搜索词的情况下获取网址"root/search".

谢谢.

Sim*_*man 3

您在 beginform 标记中使用 id ,在路线中使用 {term} 。

两者需要匹配。