javascript - Kendo DropdownList 服务器过滤添加参数

标签 javascript asp.net-mvc razor kendo-ui kendo-dropdown

如果我能得到过滤工作的客户端或服务器端,我会很高兴,但是将 DataSource 操作和 ServerFiltering(true) 上的发送参数组合在一起会导致空过滤值(文本参数)。

下拉列表是使用级联的系列的一部分。

查看:

@(Html.Kendo().DropDownList()
          .Name("name")
          .OptionLabel(new SelectListItem { Text = "Select...", Value = "" })
          .DataTextField("Text")
          .DataValueField("Value")
          .Filter("contains")
          .DataSource(source =>
          {
              source.Read(read =>
              {
                  read.Action("Action", "Controller")
                      .Data("params");
              })
              .ServerFiltering(true);
          })
          .Enable(false)
          .AutoBind(false)
          .CascadeFrom("parent")
    )

    <script>
        function params() {
            return {
                a: '',
                b: 1
            };
        }
    </script>

Controller :

public JsonResult Action(string text, string a, int b)
    {
        return Json((List<SelectListItem>), JsonRequestBehavior.AllowGet);
    }

“文本”应包含过滤器文本。

https://demos.telerik.com/aspnet-mvc/dropdownlist/serverfiltering

最佳答案

我想我明白你在问什么。您希望将下拉列表的当前值作为参数发送到数据源读取事件函数的数据绑定(bind)。

试试这个-->

 <script>
      function params() {
           return {
                Text = $("#name").data("kendoDropDownList").text(),
                a: '',
                b: 1
            };
        }
 </script>

解决方法:

<script>
    function params() {
           return {
                text = null,
                a: '',
                b: 1
            };
        }

    var filter = $('#name').data('kendoDropDownList').dataSource.filter();

    if (filter && filter.filters[0].operator == "contains") {
        params.text = filter.filters[0].value;
    }
</script>

我让它工作的唯一方法是 Kendo 添加一些默认过滤器,所以我不得不使用一个条件来查找我正在使用的过滤器类型。如果为 null,则不是搜索。

关于javascript - Kendo DropdownList 服务器过滤添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49674663/

相关文章:

javascript - 通过 JavaScript 发送 Facebook 聊天消息

javascript - 参数数据为空 Ajax 到 MVC Controller

c# - 将数据传递到 ASP.NET MVC5 中的 Razor View

asp.net-mvc - 如何从编辑器模板添加 JavaScript 或 css 引用

asp.net-mvc - Razor MVC 模型正在丢失保存操作的数据

javascript - 我正在尝试制作代码编辑器,但结果框中没有任何内容

javascript - 如何将 map 以当前用户位置为中心(地理定位

javascript - 表单序列化总是返回空字符串

C# 在 MVC 中集中重复 VIewData

javascript - 如何处理 Angular 2中的302