Я использую специально разработанные элементы ввода, которые не могут использовать теги ввода, поэтому вместо этого я создаю и отправляю форму с помощью Javascript, например, this. Короче говоря:
Отправка динамически сгенерированной формы с помощью JavaScript в MVC
var form = document.createElement("form");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "id["+index+"]");
hiddenField.setAttribute("value", this.id);
form.submit();
Сейчас, насколько я знаю, в моем контроллере MVC я должен получить данные, как так:
public ActionResult Submit(string a = null, string b = null...)
{
//something
}
Моя проблема с этим состоит в том, что данные, которые я вношу с этой формой очень просто и является ТОЛЬКО списком переменной длины неизвестных чисел, которые служат идентификаторами полей. Например:
[1,2,5,3,10,199999]
, и я не имею понятия диапазона или количества этих идентификаторов. Как отправить эти данные на мой MVC-страницу?
EDIT: Текущий выбранный ответ действительно отвечает на вопрос, как я его просил. У меня не было возможности проверить это до сих пор, но поддержки FormData в IE9 нет. Есть ли какой-либо недостаток, который я могу использовать, чтобы получить тот же результат в IE9?
Вы должны опубликовать список целых чисел и получить его как 'int []'. –
Не совсем понимаю, почему это «слишком широко», но я буду редактировать. – Timestretch