Javascript函数调用c#方法来获取datatable .net列顺序的整数数组

本文关键字:顺序 整数 数组 net datatable 函数调用 方法 获取 Javascript | 更新日期: 2023-09-27 17:54:34

我必须承认我不太擅长Javascript。

我正在使用datatable .net创建一个表通过调用通用处理程序填充数据表,然后调用数据库(在c#中)来获取值。这是有效的。我想做的是使用列重新排序功能。通过一个整数数组设置顺序。我希望这些值存储在数据库中,然后分配使用它。我还没有考虑保存列顺序部分,因为我想先让"get"过程工作。

通常情况下,设置列重新排序的代码是通过将其编码到数据表功能中,如:

 <script>
    $(function () {
        var columnOrder = [4, 3, 2, 1, 0, 5];
        $("#<%=DT.ClientID%>").dataTable({
            dom: 'Rlfrtip',
            colReorder: {
                order: columnOrder
            },
            "bProcessing": true,
            "bServerSide": true,
            "bFilter": false, //Hide the search box
            "sPaginationType": "full_numbers",
            "sAjaxSource": "../DataHandler/Data.ashx",

所以我想做的是用数据库中的值填充"columnOrder"。我尝试使用webmethod,然后通过$获得该值。{+ Post。在默认情况下,这是我的c# code behind方法。Aspx,但返回一个空对象。在进入webmethod之前,它似乎也首先填充了数据表,所以调用的时间也不正确。

问题:如果我把这个弄得太复杂了,我就挠头了。所有我想要的是从c#服务器端方法返回一个整数数组到javascript变量。然后使用该变量设置列的顺序。关于如何从c#中获得整数数组到变量的任何建议基本上是我需要开始的。谢谢!

Javascript函数调用c#方法来获取datatable .net列顺序的整数数组

我想要的是从c#服务器端方法返回一个整数数组到javascript变量。

我有一个方法,返回一个整数数组,不是一个真正的数组,但它的工作方式像一个在javascript。

方法在

下面
[WebMethod]
    public static List<int> getAdd_Zip(int ZIP_ID)
    {
        try
        {
            BusinessContacts objContacts = new BusinessContacts();
            DataTable dtInf = objContacts.getAdd_Zip(ZIP_ID);
            List<int> lRes = new List<int>();
            if (dtInf.Rows.Count > 0)
            {
                lRes.Add(Convert.ToInt32(dtInf.Rows[0]["COU_ID"]));
                lRes.Add(Convert.ToInt32(dtInf.Rows[0]["STE_ID"]));
                lRes.Add(Convert.ToInt32(dtInf.Rows[0]["MUN_ID"]));
            }
            return lRes;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

注意,该方法返回一个整数List,我声明一个数据表,然后用另一个方法填充该表(这并不重要),然后,我用3个值填充List。

现在,我有了javascript的下一个方法

function wsGetAdd_Zip(ZIP_ID) {
var AddZips = new Array();
var params = new Object();
params.ZIP_ID = ZIP_ID;
params = JSON.stringify(params);
$.ajax({
    type: "POST",
    url: "Contactos.aspx/getAdd_Zip",
    data: params,
    contentType: "application/json; charset=utf-8",
    async: false,
    success: function (result) {
        AddZips = result.d;
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(textStatus + ": " + XMLHttpRequest.responseText);
    }
});
return AddZips;
}

该方法返回整数数组。