2012-03-01 41 views
0

我正在使用asp.net webforms的Jquery ui選項卡,我正在用ajax加載內容。我實際上有兩個問題無論如何,使用pagemethods使用jquery ui標籤微調嗎?

  1. 我不知道如何加載第一個標籤加載的內容。現在我使用tabsselect通過ajax加載內容。 ('#contentHolder')。bind(「tabsselect」,function(event,ui){ //運行阿賈克斯請求 });

  2. 只有當我使用href的實際路徑時,微調控件中的內置似乎才起作用。但因爲我必須使用pagemethods,所以我需要使用一個id。

  • 一個
  • 兩個
// Ajax請求PageMethod的 $就...

更新的代碼

// tab initializaztion 
     var $tabs = $('#followersTable').tabs({ spinner: 'Loading...' }); 

     $tabs.bind("tabsselect", function(event, ui) { 
      //LoadTabContent(ui.index); 
       var request = { 
       'controlName': 'FollowersTab' 
       }; 

      $(this).tabs({ 
       ajaxOptions: { 
        type: "POST", 
        url: "ajax/Followers.aspx/LoadTabContent", 
        data: $.toJSON(request), 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (data) { 
         $(container).html(data.d);          
        }, 
        error: function() { 
        } 
       } 
      }) 
     }); 
+1

首先數據:$ .toJSON(請求)這部分是沒用的。因爲請求變量已經是一個JSON對象。它應該是「數據:請求」。我會稍後更新答案 – 2012-03-02 00:21:08

回答

0

關於第一個問題: $("your-tabs-selector-here").tabs("load" , 0);這將迫使你的標籤第一標籤通過AJAX加載。

如果我沒有弄錯,您可以將[WebMethod]用於頁面方法,並且可以將頁面方法與UI標籤ajaxOptions結合使用。你可以玩ajaxOptions返回類型和/或方法名..etc

$("your-tabs-selector-here").tabs({ 
      ajaxOptions: { 
         type: "POST", 
          url: "Default.aspx/PageMethodName", 
          data: "{}", 
          contentType: "application/json; charset=utf-8", 
          dataType: "json" 
      } 
     }); 
+0

您也可以參考下面的jQuery ajax和Page方法的示例。所以你可以集成UI和你的組件。 http://mosesofegypt.net/post/2008/04/GridView-Grouping-Master-Detail-Drill-Down-Using-jQuery-AJAX.aspx – 2012-03-01 22:58:18

+0

這會觸發微調器的文字/動畫,還是隻觸發使用標籤href的網址? – chobo 2012-03-02 00:06:11

+0

如果對第一個選項卡使用「Default.aspx/PageMethodName」,則此方法應觸發微調器和Ui選項卡支持的其餘功能。 – 2012-03-02 00:08:43