2011-03-24 57 views
0

我在ASP.net中有一个web方法,它输出的是一个ArrayList并从数据库中读取城市。 这个web方法是使用jquery调用的。使用jquery读取Asp.net arraylist

$.ajax(
    { url: "../AjaxServices/StateCity.asmx/showcity", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     type: "POST", 
     data: '{s: ' + $('#<%=DpState.ClientID%>').val() + '}', 
     success: function(data) { 

}

我想知道如何通过data循环,因为数据对象。 我知道

jQuery.each(collection, callback(indexInArray, valueOfElement)) 

但不工作

+0

看看Firebug中的响应和'data'参数。 – SLaks 2011-03-24 13:30:10

回答

2

当你使用AJAX调用一个ASP.Net的WebMethod,它返回一个对象包含您的数据d属性。

如果您的WebMethod返回一个集合,你可以写

$.each(data.d, function(index, obj) { ... }); 
0

Slaks答案是伟大的一个NDI找到了解决方案的基础上SLaks回答,所以我会在这里分享: 只是需要关心ValueText它们区分大小写。

success: function(data) { 
       $.each(data.d, function() { 
        alert(this['Value'] + ':' + this['Text']);     })    } 
+0

你可以写'this.Value'。 – SLaks 2011-03-24 15:08:21