【问题标题】:getting jagged array from pagemethod into JavaScript从 pagemethod 获取锯齿状数组到 JavaScript
【发布时间】:2014-04-01 06:25:08
【问题描述】:

我想将一个锯齿状数组从 pagemethod 映射到 JavaScript。谁能举个例子?

我来自 webmethod 的锯齿状数组是:

<WebMethod()> _
   <ScriptMethod()> _
   Public Shared Function multiTable(ByVal para() As Object, ByVal spname As String) As Object(,)
    Dim dsrt As New DataSet, dbacc As New dataaccess
    dsrt = dbacc.retds1(spname, conn, para)
    Dim arr()() As Object = New Object(dsrt.Tables.Count - 1)() {}
    For i As Integer = 0 To dsrt.Tables.Count - 1
        arr(i) = New Object(dsrt.Tables(i).Columns.Count - 1) {}
        For j As Integer = 0 To dsrt.Tables(i).Columns.Count - 1
            arr(i)(j) = dsrt.Tables(i).Rows(i)(j)
        Next
    Next
End Function

我不知道如何将它翻译成 JavaScript,但这是我尝试过的代码:

function success(result)
{
        var dsrp2 =[];
        if(result.length == 0)
        {
            dsrp2.length=0;
        }
        else
        {
            var ind = 0;var col=(result.length/2);  // i guess here only i should make change
            for (i=0;i<2;i++)
            {
            var data=[];
            for (j=0;j<col-1;j++)
            {
            data.push(result[ind]);
            ind++;
            }
            dsrp2.push(data);
            }
        }
}

【问题讨论】:

    标签: javascript webmethod pagemethods jagged-arrays


    【解决方案1】:

    网络方式:

       <WebMethod()> _
       <ScriptMethod()> _
       Public Shared Function multiTable(ByVal para() As Object, ByVal spname As String) As Object()()
        Dim dsrt As New DataSet, dbacc As New dataaccess
        dsrt = dbacc.retds1(spname, conn, para)
        Dim arr()() As Object = New Object(dsrt.Tables.Count - 1)() {}
        For i As Integer = 0 To dsrt.Tables.Count - 1
            If dsrt.Tables(i).Rows.Count = 0 Then
                arr(i) = New Object(0)() {}
                Continue For
            Else
                arr(i) = New Object(dsrt.Tables(i).Columns.Count - 1) {}
                For j As Integer = 0 To dsrt.Tables(i).Columns.Count - 1
                    arr(i)(j) = dsrt.Tables(i).Rows(0)(j)
                Next
            End If
        Next
        Return arr
      End Function
    

    Javascript:

    function success(result)
    {
        var dsrp2 =new Array();
        dsrp2=result;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-09
      • 2019-11-17
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2020-04-02
      • 1970-01-01
      相关资源
      最近更新 更多