【发布时间】:2013-03-29 22:01:03
【问题描述】:
Ajax Binding 的 Kendo UI Ajax Binding 文档描述了将多个数据参数传递给 Action 方法,但它没有解决像 MultiSelect 值这样的传递数组的问题。
在下面的示例中,如果将 multisel 设置为“237896”之类的字符串,则控制器将接收到 sitesFilter="237896"。但如果 multisel 设置为 MultiSelect 值,如下所示,控制器将接收到 sitesFilter = null。
使用 MVC 包装器将所有 MultiSelect 值发送到 Action 方法的正确方法是什么?
.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);
}
编辑:getCriteria 应该将数据转换为字符串,如下所示:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
【问题讨论】:
标签: kendo-ui kendo-grid kendo-asp.net-mvc