Tôi đang tạo một ứng dụng nhỏ để tự dạy mình ASP.NET MVC và JQuery, và một trong những trang là danh sách các mục trong đó một số mục có thể được chọn. Sau đó, tôi muốn nhấn một nút và gửi Danh sách (hoặc một cái gì đó tương đương) đến bộ điều khiển của tôi có chứa id của các mục đã được chọn, sử dụng chức năng Đăng của JQuery.
Tôi quản lý để có được một mảng với id của các yếu tố đã được chọn, và bây giờ tôi muốn đăng nó. Một cách tôi có thể làm điều này là có một hình thức giả trong trang của mình, với một giá trị ẩn, sau đó đặt giá trị ẩn với các mục đã chọn và đăng biểu mẫu đó; Điều này có vẻ tồi tệ, mặc dù.
Có cách nào sạch hơn để đạt được điều này, bằng cách gửi mảng trực tiếp đến bộ điều khiển? Tôi đã thử một vài thứ khác nhau nhưng có vẻ như bộ điều khiển không thể ánh xạ dữ liệu mà nó nhận được. Đây là mã cho đến nay:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
Và sau đó, Trình điều khiển của tôi trông như thế này
public ActionResult GenerateList(List<string> values)
{
//do something
}
Tất cả những gì tôi quản lý để có được là "null" trong tham số bộ điều khiển ...
Bất cứ lời khuyên?
Request["values[]"]