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 các trang là danh sách các mục mà một số có thể được chọn. Sau đó, tôi muốn nhấn một nút và gửi một danh sách (hoặc một cái gì đó tương đương) để điều khiển của tôi có chứa các id của các mục đã được chọn, sử dụng chức năng Post của JQuery.Làm thế nào tôi có thể gửi một mảng chuỗi để ASP.NET MVC Controller mà không có một hình thức?
Tôi đã quản lý để có được một mảng với các id của các yếu tố đã được chọn, và bây giờ tôi muốn đăng bài đó. 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 tôi, với một giá trị ẩn, và sau đó thiết lập giá trị ẩn với các mục đã chọn, và gửi biểu mẫu đó; điều này có vẻ hơi giòn.
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 điều 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. Dưới đây là đoạn 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à rồi đ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ả tôi quản lý để có được một "null" trong tham số điều khiển ...
lời khuyên Bất kỳ ?
Mặc dù, bạn có thể truy cập vào cùng một dữ liệu bằng cách sử dụng 'Request [ "giá trị []"]' – Tocco