Kendo UI级联DropdownList如何工作?

时间:2013-03-04 03:56:01

标签: asp.net-mvc kendo-ui cascadingdropdown

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

对于.Name("products")实例DropDownList是{I}名称,我想知道这些是什么(您称之为NameOptionLabel等。 ))因为它真的让我很困惑。我一直在创建一个级联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>

<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>

1 个答案:

答案 0 :(得分:5)

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

.OptionLabel(“选择订单...”):这是未选择任何选项时显示的下拉列表。

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

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

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

.Data(“filterOrders”):这用于为上面的read.Action方法赋值参数

.ServerFiltering(true):

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

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

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