Это один из тех «я понял это, но это было больно, поэтому я публикую это, чтобы помочь другим» вопросы.
Я создаю приложение на основе jQuery на ASP.NET Razor.Я использую сортировку jQuery.ui, чтобы включить сортировку вещей.
Мне было неочевидно, как передать результаты сортируемого события на мою страницу Razor.Есть множество примеров для PHP, но я не смог ничего найти для Razor.
Вот пример jQuery.ui для сортируемого:
$('#Categories').sortable({
update: function () {
var catOrder = $(this).sortable("serialize").toString();
$.ajax({
type: "POST",
url: "OrderCategories",
data: catOrder,
}).done(function (msg) {
alert('done: ' + msg);
});
}
});
Эта строка передает такую строкуна страницу OrderCategories
:
{id[]=2&id[]=3&id[]=1&id[]=4&id[]=5}
Очевидно, ASP.NET достаточно умен, чтобы вычислить строку запроса, как будто это массив.Все, что вам нужно сделать, чтобы получить этот массив, это
var order = Request.Params["id[]"];
Теперь order
- это массив целых чисел, представляющих порядок списка.Мне потребовалось слишком много времени, чтобы понять это.Надеюсь, это поможет.