オブジェクトのリストを返すWebメソッドが.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」と表示されます
助けてくれてありがとう!