我有一個.NET中的webmethod返回對象列表。Webmethod和複雜的對象類型問題
[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和alert之間的某個地方,一些事情爲了自己的利益而努力過於聰明,並且認爲CourseNum是一個數字字段(可能是整數),而實際上它只是一個字符串。
我也試過
result.d[i]["CourseNum"].toString()
,但警告仍說「男」
在此先感謝您的幫助!
我很想知道它是否會起作用,如果您要將值分配給標籤而不是提醒它;儘管如此,我的錢說它仍然會產生同樣的結果。你也可以嘗試一種冒險的方法:'var foo = result.d [i] [「CourseNum」] +'';' – Jeremy
你是對的 - 它確實產生了相同的結果。 – Jagd