1

オブジェクトのリストを返す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」と表示されます

助けてくれてありがとう!

4

1 に答える 1

1

アスタリスクをエスケープしてみてください。Javascriptがあなたが乗算していると信じている可能性は十分にあります。あなたが適切にそれを置くように、何か(Javascript)はそれ自身の利益のためにあまりにも賢いです。

于 2012-05-10T18:28:34.610 に答える