2

<li>HTMLページにこのようなアイテムがいくつかあります

<li id="A1" class="ui-state-default">Item 2</li>
  <li id="A2" class="ui-state-default">Item 3</li>
  <li id="A3" class="ui-state-default">Item 4</li>
  <li id="A4" class="ui-state-default">Item 5</li>

このようにJavascriptとJqueryを使用して呼び出し、<li>要素のIDとインデックスを取得しました

function LiOrder() {
            var order = $('li').map(function (i) {
                return { id: this.id, index: i };
            }).get();

            PageMethods.GetServerResponse(order, OnSuccess, OnFail);
        }

        function OnSuccess(arg) {
            alert(arg);
        }

Aspx.csページに書かれたWebMethodはこちら

[WebMethod]
    public static string GetServerResponse(string[,] LiOrder)
    {


        return LiOrder[0,0];
    }

しかし、実行しようとすると、Google Chrome (Javascript Console) でこのようなエラーが発生します

POST http://localhost:2453/ERP29.1.13/Production/LifeCycleRegistration.aspx/GetServerResponse 500 (Internal Server Error) ScriptResource.axd:6979

このエラーの原因は何ですか。このように文字列を WebMethod に渡すことができます。しかし、アレイに関しては、このようなものです。これを解決するのを手伝ってください

4

1 に答える 1

2

JSON.stringfy は私の問題を解決しました。私はこのように私のコードを変更しました

var LiArr=JSON.stringify(order);
            PageMethods.GetServerResponse(LiArr, OnSuccess, OnFail);
于 2013-03-08T10:26:03.647 に答える