Saya membuat aplikasi kecil untuk belajar sendiri ASP.NET MVC dan JQuery, dan salah satu halaman adalah daftar item di mana beberapa dapat dipilih. Kemudian saya ingin menekan tombol dan mengirim Daftar (atau sesuatu yang setara) ke controller saya yang berisi id item yang dipilih, menggunakan fungsi JQuery's Post.
Saya berhasil mendapatkan array dengan id dari elemen yang dipilih, dan sekarang saya ingin mempostingnya. Salah satu cara saya bisa melakukan ini adalah memiliki formulir dummy di halaman saya, dengan nilai tersembunyi, dan kemudian mengatur nilai tersembunyi dengan item yang dipilih, dan memposting formulir itu; ini terlihat crufty.
Apakah ada cara yang lebih bersih untuk mencapai ini, dengan mengirim array langsung ke controller? Saya sudah mencoba beberapa hal berbeda tetapi sepertinya pengontrol tidak dapat memetakan data yang diterimanya. Berikut kodenya sejauh ini:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
Dan Controller saya terlihat seperti ini
public ActionResult GenerateList(List<string> values)
{
//do something
}
Yang berhasil saya dapatkan adalah "null" di parameter controller ...
Ada tips?
Request["values[]"]