面向ASP的Telerik UI。NET MVC免费下载30天试用版

级联dropdownlist

级联功能由一系列两个或更多的DropDownList表示,其中每个DropDownList都根据前一个DropDownList中选择的选项进行过滤。

基本概念及要求

子下拉列表从父下拉列表级联CascadeFrom属性定义。的CascadeFrom属性必须指向名字父DropDownList小部件的。

在子DropDownList初始化期间,将执行以下操作。ASP的子UI。NET MVC下拉列表:

  • 检查CascadeFrom属性设置。否则,禁用级联。
  • 尝试查找父DropDownList对象。如果结果是,则省略该功能。
  • 监听父值的任何更改。
  • 如果父类没有值,则禁用。如果父类有一个值,则启用子类并相应地过滤其数据。下面的示例演示了请求的参数。

    filter[logic]: and filter[filters][0][field]: parentID filter[filters][0][operator]: eq filter[filters][0][value]:

附加数据可以随请求发送使用Data方法并提供一个JavaScript函数的名称,该函数将返回一个带有附加数据的JavaScript对象。

  • 级联功能仅在定义CascadeFrom属性并初始化父DropDownList。
  • 过滤器操作符总是“情商”.要过滤数据,子DropDownList使用DataValueField选项。

下面的示例演示了如何为ASP的UI配置级联功能。NET MVC下拉列表:

Categories:

@(Html.Kendo(). dropdownlist (). name (" Categories ") . htmlatattributes (new {style = "width:100%"}) . optionlabel ("Select category…"). datatextfield ("CategoryName") . datavaluefield ("CategoryId") . datasource (source => {source =>读取(Read =>{读取。行动(“Cascading_GetCategories”,“它”);});< span style=" font - family:宋体;">Products: @(Html.Kendo(). dropdownlist (). name (" Products ") . htmlatattributes (new {style = "width:100%"}) . optionlabel ("Select product…"). datatextfield ("ProductName") . datavaluefield ("ProductID") . datasource (source => {source =>读取(Read =>{读取。Action("Cascading_GetProducts", "DropDownList") .Data("filterProducts");}) .ServerFiltering(真正的);}) .Enable(false) .AutoBind(false) . cascadfrom ("categories"))