我在.NET 中有一个返回对象列表的网络方法。
[System.Web.Services.WebMethod(enableSession: true)]
public static List<CourseItem> GetItems() {
return (new MTE()).GetItems();
}
和 CourseItem 对象如下:
public static CourseItem {
public string CourseNum { get; set; }
public string Desc { get; set; }
}
我从 javascript 中使用 webmethod,如下所示:
function GetCourses_Success(result) {
// Problem starts here
if (result.d != null) {
for (i = 0; i < result.d.length; i++) {
alert(result.d[i]["CourseNum"]);
}
问题: 警报有时会显示“NaN”而不是实际的课程编号。问题与大多数课程编号只是数字这一事实有关,但偶尔会有课程编号是一个末尾带有星号的数字(例如 - 111234* 或 999234*)。因此,在 webmethod 和警报之间的某个地方,有些东西试图过于聪明,并认为 CourseNum 是一个数字字段(也许是整数),而实际上它只是一个字符串。
我也试过
result.d[i]["CourseNum"].toString()
但警报仍然显示“NaN”
在此先感谢您的帮助!!