Я создаю небольшое приложение для обучения ASP.NET MVC и JQuery, и одна из страниц представляет собой список элементов, в которых некоторые из них могут быть выбраны. Затем я хотел бы нажать кнопку и отправить на мой контроллер список (или что-то подобное), содержащий идентификаторы выбранных элементов, используя функцию Post в JQuery.
Мне удалось получить массив с идентификаторами выбранных элементов, и теперь я хочу опубликовать это. Один из способов сделать это - создать на моей странице фиктивную форму со скрытым значением, а затем установить скрытое значение с выбранными элементами и опубликовать эту форму; это выглядит грубым, хотя.
Есть ли более чистый способ добиться этого, отправив массив непосредственно в контроллер? Я пробовал несколько разных вещей, но похоже, что контроллер не может отобразить данные, которые он получает. Вот код на данный момент:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
И тогда мой контроллер выглядит так
public ActionResult GenerateList(List<string> values)
{
//do something
}
Все, что мне удалось получить, это «ноль» в параметре контроллера ...
Какие-нибудь советы?
Request["values[]"]