Tài liệu hướng dẫn sử dụng Kendo UI Ajax tại Ajax Binding mô tả chuyển nhiều tham số dữ liệu sang phương thức hành động nhưng không giải quyết các mảng truyền đi như các giá trị MultiSelect.Kendo UI MVC Gửi các giá trị dữ liệu MultiSelect đến Phương thức hành động
Trong ví dụ bên dưới, nếu đa điểm được đặt thành chuỗi như "237896", trình điều khiển sẽ nhận được siteFilter = "237896". Nhưng nếu multisel được đặt thành giá trị MultiSelect như hình dưới đây, bộ điều khiển sẽ nhận được siteFilter = null.
Cách thích hợp để gửi tất cả các giá trị MultiSelect đến phương thức Hành động bằng cách sử dụng trình bao bọc MVC là gì?
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Read(read => read.Action("Documents_Read", "Document")
.Type(HttpVerbs.Post)
.Data("getCriteria"))
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value();
return {
sitesFilter: multisel
};
}
public ActionResult Documents_Read([DataSourceRequest] DataSourceRequest request, string sitesFilter=null)
{
return Json(GetDocuments(sitesFilter).ToDataSourceResult(request), JsonRequestBehavior.DenyGet);
}
EDIT: getCriteria nên chuyển đổi dữ liệu vào một chuỗi như hình dưới đây:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
Florian - Cảm ơn. Vấn đề của tôi đã được giải quyết bằng cách chuyển đổi giá trị dữ liệu multiselect thành chuỗi. – Mark
<3 Người này đã lưu thịt xông khói của tôi <3 – decompiled
"Dữ liệu POST đã nhận trong Hành động điều khiển .jpeg:" đây có phải là hình ảnh không? Bạn có thể hiển thị cách bạn đăng dữ liệu của mình không? – JoshYates1980