2010-12-07 14 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

これは一般的なことではありません。

投稿された値のドロップダウンに応じて2つの異なることが起こる必要がある場合は、コントローラ内部のロジックディスパッチを処理する必要があります。

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

    if(actionType == "Customers") 
      DoSomethingDifferent(); 
} 
関連する問題