MVC с вызовом jQuery Ajax неправильно связывает пустой массив / перечисляемый

У меня есть вызов jQuery ajax, в котором я пытаюсь отправить int ID пользователей, которые можно выбрать из таблицы флажков.

У меня проблема с тем, что пользователи не выбраны. Я ожидал бы пустой массив, но на самом деле я получаю массив длиной = 1, содержащий userId 0 (т.е. неназначенное значение int).

Следующий фрагмент воспроизводит проблему

$('#test').click(function () {
    var numbers = $('.noElements').map(function () {
        // (selector does not match any elements, to demonstrate)
        return 1;
    }).get();

    $.ajax({
        url: '/MyController/Test',
        type: "GET",
        data: { numbers: numbers, count: numbers.length }
    });
});


public ActionResult Test(IEnumerable<int> numbers, int count)
{
    Assert(numbers.Count() == count);
    return null;
}

Утверждение не выполняется, потому что числа равно Список {0} . Почему происходит такое связывание?

7
задан fearofawhackplanet 8 November 2011 в 13:40
поделиться