Kendo UI级联DropdownList如何工作?

1 asp.net-mvc cascadingdropdown kendo-ui

任何人都可以向我解释这些代码的结构吗?

一个实例.Name("products")DropDownList名字,我想知道那些是什么(你叫什么名字这个(Name,OptionLabel,等)),因为它真的让我困惑.我陷入了创建级联的困境DropDownList.

@(Html.Kendo().DropDownList()
      .Name("products")
      .OptionLabel("Select product...")
      .DataTextField("ProductName")
      .DataValueField("ProductID")
      .DataSource(source => {
          source.Read(read =>
          {
              read.Action("Type", "ComboBox")
                  .Data("filterProducts");
          })
          .ServerFiltering(true);
      })
      .Enable(false)
      .AutoBind(false)
      .CascadeFrom("categories")
)
<script>
    function filterProducts() {
        return {
            categories: $("#categories").val()
        };
    }
</script>
Run Code Online (Sandbox Code Playgroud)

<p>
<label for="orders">Orders:</label>
@(Html.Kendo().DropDownList()
      .Name("orders")
      .OptionLabel("Select order...")
      .DataTextField("ShipCity")
      .DataValueField("OrderID")
      .DataSource(source => {
          source.Read(read =>
          {
              read.Action("SubType", "ComboBox")
                  .Data("filterOrders");
          })
          .ServerFiltering(true);
      })
      .Enable(false)
      .AutoBind(false)
      .CascadeFrom("products")
)
<script>
    function filterOrders() {
        return {
            products: $("#filterOrders").val()
        };
    }
</script>
Run Code Online (Sandbox Code Playgroud)

Sha*_*Wet 6

.Name("orders"):这是分配给下拉html元素的唯一名称.

.OptionLabel("选择订单..."):这是未选择任何选项时下拉列表应显示的内容.

.DataTextField("ShipCity"):这是数据源的属性,用于填充应在下拉列表中显示的下拉选项.

.DataValueField("OrderID"):这是绑定数据源的属性,它填充了应该用作绑定到视图的基础模型的值的下拉选项.

read.Action("SubType","ComboBox"):这定义了应该调用的Action和Controller,以检索将填充下拉选项的集合

.Data("filterOrders"):这用于为上面的read.Action方法赋值

.ServerFiltering(真):

.Enable(false):是否启用了下拉列表.

.AutoBind(false):下拉列表是否应立即绑定到其下拉数据源(或等待下拉列表中的级联指定值)

.CascadeFrom("products"):要从中级联的另一个下拉列表.如果Autobind为false,则只有在用户为其他下拉列表分配了值后,此下拉列表才会绑定到其选项数据源.

  • 我遇到了一个问题,该列表未显示在第二个下拉列表中(即使触发了Controller动作,也始终为空)。“ .ServerFiltering(true);” 使它完美地工作。 (2认同)