C# 剑道下拉列表不会触发级联事件

C# 剑道下拉列表不会触发级联事件,c#,telerik,kendo-ui,kendo-asp.net-mvc,C#,Telerik,Kendo Ui,Kendo Asp.net Mvc,我有3个下拉列表。当我从第一个选项中选择值时,第二个选项工作得很好,Kendo会自动启用第二个选项并执行AJAX查询。但当我从第二个下拉列表中选择值时,第三个下拉列表仍然被禁用 守则: <script> function filterSchemas() { return { formGroupId: $("#FormGroupName").val() }; } function filterRootElements() { r

我有3个下拉列表。当我从第一个选项中选择值时,第二个选项工作得很好,Kendo会自动启用第二个选项并执行AJAX查询。但当我从第二个下拉列表中选择值时,第三个下拉列表仍然被禁用

守则:

<script>
    function filterSchemas() {
        return { formGroupId: $("#FormGroupName").val() };
    }

    function filterRootElements() {
        return { shemaId: $("#Schemas").val() };
    }
</script>

<div class="editor-label">
    @Html.LabelFor(e => e.FormGroupName, "Form group")
</div>
<div class="editor-field">
    @(Html.Kendo().DropDownListFor(e => e.FormGroupName)
          .Name("FormGroupName")
          .OptionLabel("Select form group...")
          .DataValueField("Id")
          .DataTextField("Name")
          .Template("#= data.Name # (#= data.Version #)")
          .DataSource(dataSource =>
              {
                  dataSource.Read(read => read.Route(RouteConfig.GetFormGroupNames.Name)).ServerFiltering(true);
              })
    )
</div>

<div class="editor-label">
    @Html.LabelFor(e => e.Schema, "Schema")
</div>
<div class="editor-field">
    @(Html.Kendo().DropDownListFor(m => m.Schema)
          .Name("Schema")
          .OptionLabel("Select schema...")
          .DataValueField("SchemaId")
          .DataTextField("ShemaName")
          .DataSource(dataSource =>
              {
                  dataSource.Read(read => read.Route(RouteConfig.FilterFormSchemas.Name).Data("filterSchemas")).ServerFiltering(true);
              })
          .AutoBind(false)
          .Enable(false)
          .CascadeFrom("FormGroupName")
          )     
</div>

<div class="editor-label">
    @Html.LabelFor(e => e.Root, "Root element")
</div>
<div class="editor-field">
    @(Html.Kendo().DropDownListFor(m => m.Root)
          .Name("Root")
          .OptionLabel("Select root...")
          .DataValueField("RootId")
          .DataTextField("RootName")
          .DataSource(dataSource =>
              {
                  dataSource.Read(read => read.Route(RouteConfig.FilterFormRootElements.Name).Data("filterRootElements")).ServerFiltering(true);
              })
          .AutoBind(false)
          .Enable(false)
          .CascadeFrom("Schema")
          )     
</div>

有什么建议吗?

您是否检查过第三个列表中是否有与其他两个筛选器相对应的元素?不确定我是否正确理解您的意思,当我从第二个下拉列表中选择值时,应执行DataFilterRotements,根下拉列表的数据源应从controller加载远程数据,但什么都没有发生。我建议的是,查询已执行,但未返回任何结果。。。但是我在你的代码中看到,你在过滤器中加入了:$Schemas.val,就像在你的代码中,第二个DDL被命名为Schema,末尾没有s:这是一个拼写错误吗?是的,我注意到了,现在也将其更改为“Schema”,但它仍然是相同的行为,没有发生任何事情。另外,如果我从第一个级联第三个DDL,那么一切都可以很好地从FormGroupName级联这很奇怪,如果您可以在两种不同类型的数据FormGroupName和Schema上筛选第三个DDL。。。在控制器操作中,是否确定代码在架构上正确过滤?