我有一个表格如下图所示: -Asp.net MVC路由查询
<% using (Html.BeginForm("search", "home", FormMethod.Get)) { %>
<%= Html.TextBox("location", "") %>
<input type="submit" value="Search All Jobs" />
<% } %>
,并在Global.asax中,我有这条路线
routes.MapRoute(
"Search", // Route name
"{controller}/{action}/{location}", // URL with parameters
new { controller = "Home", action = "Index", location = UrlParameter.Optional });
现在每当我点击提交按钮,我得到的网址像
http://localhost/home/search?location=karachi
,但我想
http://localhost/home/search/karachi
任何想法?
@John Weldon,恐怕你是错过了这个问题的观点。在使用'method =“GET”'提交表单之后,OP希望将'http:// localhost/home/search/karachi'作为url。 Url路由与答案无关,既不是在服务器上声明的动作。 – 2011-05-30 06:27:54
让我补充一点,我在搜索页面上有一个分页控件(自制的),它会正确生成所需的链接。因为它生成http:// localhost/home/search/karachi?page = 2 – Zohaib 2011-05-30 06:28:31
@Zohaib,这是因为分页控件使用Html.ActionLink来生成url。用HTML'