2016-05-13 10 views
0

WCF Webサービスから返されたjsonオブジェクトを持つ剣道メニューの作成に問題があります。 Webサービス呼び出しは機能していますが、コントロールへのバインディングは機能していませんか?jsonオブジェクトの剣道UIメニュー

ここは私のコード例です。

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
<script> 
    $(document).ready(function() { 

     var JsonMenu; 

     $.ajax({ 
      type: "GET", 
      url: "cmService.svc/GetNavMenu", 
      //data: JSON.stringify(params), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      processData: true, 
      success: function (data, status, jqXHR) { 
       // alert("success..." + data); 
       JsonMenu = data; 
      }, 
      error: function (xhr) { 
       alert(xhr.responseText); 
      } 
     }); 



     $("#menu").kendoMenu({ 
      dataSource: JsonMenu 
     }); 

    }) 

<ul id="menu"> </ul> 

</asp:Content> 

これは、Webサービスから返されたオブジェクトです。

[Object { text="BBC Home", url="http://www.bbc.co.uk", items=null}, Object { text="BBC Sport", url="http://www.bbc.co.uk/sport", items=null}] 

ページが読み込まれるときは作成されませんが、ファイヤーバグを実行するとメニューが表示されますか?私は明らかに何か愚かなことをしているが、それを見ることができない。私はこれもかなり新しいですので、どんな助けも大歓迎です。

ありがとう

答えて

0

Doh!私は何が間違っているかを見つけた

サーバーからデータを取得する前にコントロールが初期化されていました。

成功イベントに初期化を追加して修正しました。

  $.ajax({ 
      type: "GET", 
      url: "cmService.svc/GetNavMenu", 
      //data: JSON.stringify(params), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      processData: true, 
      success: function (data, status, jqXHR) { 
       // alert("success..." + data); 

       $("#menu").kendoMenu({ 
        dataSource: data 

       }) 
      }, 
      error: function (xhr) { 
       alert(xhr.responseText); 
      } 
     })