小编Mar*_*ark的帖子

Kendo UI MVC将MultiSelect数据值发送到Action方法

在剑道UI Ajax的绑定文件的Ajax绑定描述传递多个数据参数为一个操作的方法,但它并没有解决通过阵列等多选值.

在下面的示例中,如果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);
    }
Run Code Online (Sandbox Code Playgroud)

编辑:getCriteria应该将数据转换为字符串,如下所示:

 function getCriteria() {
        var multisel = $("#sites").data("kendoMultiSelect").value().toString();
        return {
            sitesFilter: multisel
        };
Run Code Online (Sandbox Code Playgroud)

kendo-ui kendo-grid kendo-asp.net-mvc

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

kendo-asp.net-mvc ×1

kendo-grid ×1

kendo-ui ×1