Я должен заявить, что я не очень хорошо разбираюсь в Javascript.
Я создаю таблицу с использованием datatables.net. Datatable заполняется с помощью вызова общего обработчика, который затем вызывает базу данных (в С#) для получения значений. Это работает. Я бы хотел использовать функцию переупорядочения столбцов. Установка порядка осуществляется массивом целых чисел. Я хотел бы, чтобы эти значения сохранялись в базе данных, а затем назначали их использование. Сначала я не думал о первой части заказа на сохранение столбцов, так как я хочу сначала обработать процесс "получить".
В нормальном мире код для установки переупорядочения столбца заключается в его кодировании в функцию datatables functionlity:
<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" значениями из базы данных. я попытался использовать веб-метод, а затем получил это значение с помощью $.ajax({+ Post). Это пошло на мой код С# позади метода на default.aspx, но вернул пустой объект. Он также, кажется, заполняет данные, прежде чем входить в webmethod, поэтому время вызова также неверно.
ВОПРОС: Я почесываю голову, если я слишком усложняю это. Все, что я хочу, это возврат массива целых чисел от aС# серверного метода к переменной javascript. Затем используйте эту переменную, чтобы установить порядок столбца. Любое предложение о том, как я могу просто получить массив целых чисел из С# в переменную, - это в основном то, что мне нужно начинать. благодарю!
Все, что я хочу, это возврат массива целых чисел от aС# серверного метода к переменной 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;
}
}
Обратите внимание, что метод возвращает список целых чисел, я объявляю datatable, затем я заполняю эту таблицу другим методом (это не важно), затем я заполняю список тремя значениями.
Итак, теперь у меня есть следующий метод 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;
}
Этот метод возвращает массив целых чисел.
Я надеюсь, это поможет вам.