Привязка модели JSON с использованием JQuery $ .ajax без установки для традиционного значения true - PullRequest
3 голосов
/ 24 июня 2011

Я использую Jquery 1.6.1 и JQuery UI, которые можно сортировать в приложении, и заметил, что привязка модели JSON перестала работать. Я должен установить для «традиционного» параметра $ .ajax значение true, чтобы он работал.

$('.tracks').sortable({
    update: function (event, ui) {
        var order = $(this).sortable('toArray');

        $.ajax({
            url: '/controller/action/',
            type: 'post',
            traditional: true, // For model binding to work
            data: { 'order': order }
        });
    }
});

Мой контроллер

[HttpPost]
public ActionResult Order(string[] order)
{
    return new EmptyResult();
}

Очевидно, JQuery изменил способ формирования имени переменной поста при использовании массива, добавив [] в конец. Это изменение очевидно предназначено для пользователей PHP и Ruby.

Есть ли простое изменение, которое я могу внести в свой текущий код ASP.NET MVC, чтобы привязка модели работала без использования традиционного способа?

1 Ответ

2 голосов
/ 24 июня 2011

Нет, но вы можете сделать что-то вроде:

jQuery.ajaxSettings.traditional = true;

на своей главной странице (если вы их используете)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...