ASP.NET MVC應用程序。我有一個Html.DropDownList。當選擇被改變時,我想重定向到另一個控制器,並希望所選下拉列表項的鍵作爲URL中的參數。當下拉列表發生變化時重定向到控制器/視圖
我應該怎麼辦?
謝謝
ASP.NET MVC應用程序。我有一個Html.DropDownList。當選擇被改變時,我想重定向到另一個控制器,並希望所選下拉列表項的鍵作爲URL中的參數。當下拉列表發生變化時重定向到控制器/視圖
我應該怎麼辦?
謝謝
你需要用Javascript來做到這一點;我會推薦使用jQuery。另外,將下拉列表放在一個表單中,獲取和操作控制器/操作URL的方法。然後設置單擊事件以發佈表單。
所以,你的HTML將是這樣的:
<form id="myForm" action="/Controller/Action" method="get">
<select id="mySelect">...</select>
</form>
而在jQuery的是這樣的:
$('#mySelect').change(function() { $('#myForm').submit(); });
注意,你可以使用的Html.Form()助手來創建表單。另外,我建議在表單上提供一個提交按鈕,您可以使用javascript隱藏該按鈕。然後,JS被禁用的人仍然可以提交表單。
你必須使用JavaScript來做到這一點:
<select onchange="OnChangeEvent(this);">
<option value="1">option 1</option>
<option value="2">option 2</option>
</select>
<script type="text/javascript">
<!--
function OnChangeEvent(dropDownElement){
var selectedValue = dropDownElement.options[dropDownElement.selectedIndex].value;
document.location = "/some/mvc/route/" + selectedValue;
}
//-->
</script>
如果你使用jQuery,使用克里斯Shaffers解決方案 – JonoW 2009-10-07 11:11:46