你好
我的問題是ASP.NET MVC Routing , Html.BeginForm的精確複製品,
IM再次發佈,因爲建議的解決方案不工作..
我的觀點:
地圖Html.BeginForm路由
@using (@Html.BeginForm("Search", "Home",FormMethod.Get))
{
input name="q" id="q" type="text" class="ipt" />
@Html.DropDownList("SearchType", new SelectList(
new[] { "All Words", "Any Word", "ZipCode" }, ("All Words")))
input type="image" src="../../Content/images/search.png" />
}
(我已經刪除<字符所以它顯示的問題) 生成的URL是這樣的http://localhost:4893/Home/Search?q=Brabant&SearchType=ZipCode&x=51&y=5,我想這是主頁/搜索/布拉班特/郵編
編輯:
我不認爲它是與路線,JavaScript的不工作!我的問題是首先生成的網址,不匹配它。
$('form').submit(function() {
var data = $('input[name="q"]', this).val();
window.location.href = this.action + '/' + encodeURIComponent(data);
return false;
});
我相信我們需要查看路由的代碼(在global.asax中)以提供幫助。 – 2012-03-18 11:18:46
routes.MapRoute( null,//路由名稱 「」,//帶參數的URL 新{controller =「Home」,action =「Index」} ); routes.MapRoute(NULL, 「主頁/搜索/ {Q}/{檢索類別}/{X}/{Y}」, 新{控制器= 「主頁」,動作= 「搜索」},//默認 new {page = @「\ d +」} // Constraints:page must be numeric ); routes.MapRoute(null, 「{q}/{SearchType}/Page {page}」, new {controller =「Home」,action =「Search」},// Defaults new {page = @「\ d +「} //約束:頁面必須是數字 ); routes.MapRoute(null,「{controller}/{action}」); – 2012-03-18 11:49:40