【发布时间】:2014-07-31 00:55:36
【问题描述】:
我正在调用 webmethod 来填充选择标签。成功返回但不填充选择选项
这是我的电话
function getCities(country2) {
$.ajax({
type: 'POST',
url: 'getCities.aspx/getCitiesArray',
contentType: 'application/json; charset=utf-8',
dataType: "json",
data: "{countryName:'" + (country2) + "'}",
success: function (msg) {
alert(msg);
$("#city").empty().append($("<option></option>").val("[-]").html("select city"));
$("#city").append($("<option></option>").val("Other").html("Not in the List"));
var htm = "";
$.each(msg.d, function () {
$("#city").append($("<option></option>").val(this['Value']).html(this['Text']));
});
},
error: function () {
alert("Ajax Error");
}
});
以及 Visual Studio 2005 中的 Web 方法。ASP.NET 2.0
[WebMethod]
public static ArrayList getCitiesArray(string countryName)
{
ArrayList emptyArrayList = new ArrayList();
string sql = "select ISNULL(CityName,'-') as CityName, ISNULL(CityCode,1) as CityCode from ListCities where CountryID = (select ISNULL(CountryID,0) from ListCountries where CountryName = '" + countryName + "')";
DataTable dtCities = new DataTable();
dtCities = DBUtils.GetDataTable(sql);
ArrayList lstArrCities = new ArrayList();
if ((dtCities != null) && (dtCities.Rows.Count > 0))
{
for (int i = 0; i < dtCities.Rows.Count; i++)
{
lstArrCities.Add(new ListItem(dtCities.Rows[i]["CityName"].ToString(), dtCities.Rows[i]["CityCode"].ToString()));
}
return lstArrCities;
}
return emptyArrayList;
}
【问题讨论】:
-
您仍在使用带有 ASP.NET 2.0 的 Visual Studio 2005?真的??????
-
看看这个问题和我写的答案stackoverflow.com/questions/18244696/… 以及cmets中链接的问题。
-
AJAX 调用返回的 msg 的值是多少?
标签: jquery asp.net ajax webmethod