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#中获得整数数组到变量的任何建议基本上是我需要开始的。谢谢!
我想要的是从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;
}
该方法返回整数数组。