2011-03-14 106 views
1

是否有任何方法可以使我可以從Web服務返回的DataSet中填充數據列表。我想使用$ .ajax jquery函數。 如果是的話,請給我一個小例子。

+4

請參閱以下文檔:http://api.jquery.com/jQuery.ajax/ – 2011-03-14 17:35:14

+0

除上述文檔外,您是否有具體問題或功能對您有所挑戰? – 2011-03-14 18:29:27

回答

0

不,你不能這樣做。您必須使用簡單的類型創建您的自定義類並將其返回。

3

這個問題有點老...但我會回答。

我會推薦使用自定義類,但它可能使用DataSets。

jQuery代碼:

<script type="text/javascript"> 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/GetSomeData", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "xml", 
     success: function (msg) { 
     $(msg).find('Table').each(function (i, row) { 
      alert($(row).find('Field').text()); 
     }); 
     } 
    }); 
    </script> 

C#代碼:

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Xml)] 
    public static string GetSomeData() 
    { 
     var dataSet = new DataSet(); 

     // Use proper try-catch! 
     string connStr = "Connection String Here"; 
     using (var conn = new SqlConnection(connStr)) 
     { 
      using (var com = new SqlCommand("select top 5 ID, Field from Table", conn)) 
      { 
       var adp = new SqlDataAdapter(com); 
       adp.Fill(dataSet); 
      } 
     } 

     return dataSet.GetXml(); 
    } 

注:我用DataSet.GetXml方法,因爲生成的XML更簡單,因爲你可能會得到一些weird errors剛剛回國DataSet是一樣的。

相關問題