2011-09-09 14 views
0

私はマルチレベルメニューのコードを書いています。メインメニュー、すなわち、第1レベルのメニューがページロード中にロードされる。メインメニューの項目をクリックすると、サブレベルメニューが作成されます。 sulevelメニューの項目は、コントローラ内のアクション結果によって作成されます。これはnレベルのサブメニューであるため、jqueryを使用してサブメニューを作成しています。続いJqueryでコントローラのアクション結果にアクセスするには?

は単純なリスト

<ul> 
    <li><a href="#" >item1</a> 
    <li><a href="#">item2</a> </li> 
    <li><a href="#">item3</a></li> 
    <li><a href="#">item4 </a></li> 
    </ul> 

以下はメインメニューのコードであり、それはIDだ所与のメニュー項目のサブ項目を返すコントローラのアクションの結果です。

 public PartialViewResult SubItems(int id) 
    { 

      MyQueries obj = new MyQueries(); 
      ViewData["SubCategories"] = obj.getChildCategories(id); 
      ViewData["Services"] = obj.getServices(id); 
      return PartialView(); 


    } 

は私が項目のテキストで、コントローラを使用してサブメニューを作成し、パラメータを受信する..私はjqueryのコード、アンカーのクリックイベントを書きたい、上記の詳細は、Uのアイデアを与える願っています。 たとえば、ユーザーがitem1をクリックすると、jqueryコードは 'item1' idを子アイテムを返すコントローラに送信する必要があります。コードはサブアイテムを持つUL lIリストを作成する必要があります。このコードは、はるかに完璧からです

$('#anchorid').click(function() { 
var returnData = $.ajax({ url: @Url.Action("subitems"), 
type: "GET", 
dataType: "json", 
data: {"id": this.attr("id"), 
}); 
//TODO: build your list using returnData object 

}); 

ものでなければなら:私はget要求を実行するためにjqueryのAJAXを使用し、それがサーバから受け入れ何のデータ型を指定してくださいだろう、それは明らか

答えて

0

を作っ願っていますAjaxを使用してリクエストを返す方法についてのアイデアを示します。このテクニックを使用する場合は、サーバー上で部分的なビューを返すべきではないことに注意してください。AJAXが予期しているオブジェクト型を返す必要があります。 jQueryのAJAXリクエストの参考資料を掲載しています。http://api.jquery.com/jQuery.ajax/

+0

助けてくれてありがとう –

関連する問題