2012-01-23 13 views
1

ASP.NET MVCでこのサンプルコードが動作しない理由を教えてください。DropDownList ASP.NET MVCでOnSelectedIndexChangedが呼び出されていない

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.onselectedindexchanged.aspx

のasp.net MVCはasp.netのWebフォームで使用するコントロールの知識を、持っていないため(ListControlは、これらのコントロールのいずれかである)、コードが動作していないことをあなたに

答えて

2

ありがとうございます。 WebFormsコントロールは、WebFormsフレームワークによって生成されたViewStateとJavaScriptに依存します。 Asp.net mvcにはviewstateの概念がありませんし、ページ用のデフォルトのjavascriptも生成しません。

asp.net mvcのクライアント側からアクションをトリガーしたい場合は、純粋なhtmlとjavascriptを書くことができます(簡単にするためにjqueryを使用)。  コントローラで

//action to invoke dynamically 
public ActionResult GetSomeData(int id) 
{ 
    return Content("id is " + id); 
} 

、ビューで

<select id="myselect"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
</select> 
<script> 
    $(function(){ 
     $('#mySelect').change(function(){ 
      $.get('@Url.Action("GetSomeData")', {id: $(this).val()}, function(data) { 
       alert(data); 
      }); 
     }); 
    }); 
</script> 

これは、 'IDが1で'、従って 'IDが2' 警告すべきです。

+0

これは私が思っていたものですが、ツールボックスからこれらのコントロールを隠していないので、私は混乱しました。ありがとう:) – user1121956

関連する問題