从web方法映射数组值

Mapping array values from web method

本文关键字:数组 映射 方法 web      更新时间:2023-09-26

我试图映射数组值,这是由一个webmethod返回到javascript中声明的数组。webmethod数组是二维的。我用过一维数组映射。但我已经尝试了以下代码的2D,但它不工作。请让我找人帮帮忙。

webmethod:

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

    PageMethods.twoDarr(para,"sp_rlplsett",success,error);
    function success(res)
    {
        for(i=0;i<res.length-1:i++)
        {
        dsrp[i]=new Array(res[i].length);
        for(j=0;j<res[i].length-1;j++)
        {
        dsrp[i][j]=res[i][j];
        }
        }
    }

注意:让我用函数Success()块的替换。谢谢! !

web method:

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

var dsrp =[];var ind;var col='your col value';var i;var j;
for (i=0;i<2;i++)
{
var data2=[];
for (j=0;j<col;j++)
{
data2.push(ress[ind]);
ind++;
}
dsrp1.push(data2);
}