2010-12-07 88 views
0

我在我的mvc應用程序中有一個搜索表單,我在下拉列表中選擇要搜索的部門以及我想要搜索的文本輸入。選擇在ASP.NET MVC表格中使用哪個控制器

當我在我的下拉列表中選擇一個部門時,我想要將控制器更改爲選定的值。

可以說我有這些項目我我的下拉列表:「客戶」,「產品」,「發票」

當我在下拉列表中選擇「客戶」我希望我的Html.BeginFrom看起來像這樣:

<% using (Html.BeginForm("Customers", Request.QueryString["Search"], "Search", FormMethod.Get)) 
     { %> 

當我選擇「產品」時,我希望「客戶」更改爲「產品」。

回答

0

我同意這不是做事的最好方式,但是如果你仍然需要做這種方式那麼簡單的jQuery語句是你所需要的。

基本上處理形式的onsubmit動作(或下拉列表--both將工作的onChange)和基於下拉列表

像這樣的東西應該工作的價值改變形式的行動:

<% using (Html.BeginForm()) { %> 
    <%=Html.DropDownListFor(x => x.DepartmentList) %> 
    <input type='submit' value='submit'/> 
<% } %> 

<script type="text/javascript"> 
$(function(){ 
    $('#DepartmentList').change(function(){ 
     $('form').attr('action', $('#DepartmentList option:selected').val()); 
    }); 
}); 
</script> 

退房的this question回答更多細節

0

這通常不是你做事的方式。

如果您需要兩個不同的事情發生,取決於下拉的張貼值,您應該處理Controller內部的邏輯分派。

public ActionResult DoSomething(string actionType) 
{ 
    if(actionType == "Products") 
      DoSomething(); 

    if(actionType == "Customers") 
      DoSomethingDifferent(); 
}