Tworzę małą aplikację do nauki ASP.NET MVC i JQuery, a jedna ze stron to lista elementów, w których można wybrać niektóre. Następnie chciałbym nacisnąć przycisk i wysłać do mojego kontrolera Listę (lub coś równoważnego) zawierającą identyfikatory wybranych elementów, używając funkcji Post JQuery.
Udało mi się uzyskać tablicę z identyfikatorami wybranych elementów, a teraz chcę to opublikować. Jednym ze sposobów, w jaki mogę to zrobić, jest umieszczenie na mojej stronie fałszywego formularza z ukrytą wartością, a następnie ustawienie ukrytej wartości dla wybranych elementów i opublikowanie tego formularza; jednak wygląda to nieładnie.
Czy istnieje prostszy sposób na osiągnięcie tego celu, wysyłając tablicę bezpośrednio do kontrolera? Próbowałem kilku różnych rzeczy, ale wygląda na to, że kontroler nie może zmapować odbieranych danych. Oto kod do tej pory:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
A potem mój kontroler wygląda tak
public ActionResult GenerateList(List<string> values)
{
//do something
}
Wszystko, co udało mi się uzyskać, to „null” w parametrze kontrolera ...
Jakieś wskazówki?
Request["values[]"]