Asp.net mvc 级联下拉菜单优雅地捕捉错误

Asp.net mvc 级联下拉菜单优雅地捕捉错误,asp.net-mvc,telerik-mvc,cascadingdropdown,Asp.net Mvc,Telerik Mvc,Cascadingdropdown,我的页面上有5个级联下拉列表。 我希望他们尝试级联,但如果级联不成功,请优雅地停止尝试或出错。 我还希望所有的组合框都被启用,而不是在前一个组合框被填充之前被禁用 我已经尝试在启用的fluent API上启用.Enable(true),但下拉列表仍处于禁用状态。你知道我该怎么做吗 <div class="span5"> <div class="control-group"> @Html.Label("Product Typ

我的页面上有5个级联下拉列表。 我希望他们尝试级联,但如果级联不成功,请优雅地停止尝试或出错。 我还希望所有的组合框都被启用,而不是在前一个组合框被填充之前被禁用

我已经尝试在启用的fluent API上启用.Enable(true),但下拉列表仍处于禁用状态。你知道我该怎么做吗

   <div class="span5">
              <div class="control-group">
        @Html.Label("Product Types", new { @class = "control-label" })
        <div class="controls">
            @( Html.Telerik().ComboBox()
                .Name("drpProductTypes")
                .BindTo(new SelectList(ViewBag.drpProductTypes))
                .Placeholder("Select Category...")
                .CascadeTo("drpClass1").Enable(true)
            )
        </div>
        <div class="fix"></div>
    </div>

    <div class="control-group">
        @Html.Label("Class 1", new { @class = "control-label" })
        <div class="controls">
        @( Html.Telerik().ComboBox()
                .Name("drpClass1")
                .DataBinding(binding => binding.Ajax().Select("_GetDropDownClassOne", "List"))
                .Placeholder("Select Class 1...")
                .CascadeTo("drpClass2").Enable(true)
        )
        </div>
        <div class="fix"></div>
    </div>

    <div class="control-group">
        @Html.Label("Class 2", new { @class = "control-label" })
        <div class="controls">
        @( Html.Telerik().ComboBox()
                .Name("drpClass2")
                .DataBinding(binding => binding.Ajax().Select("_GetDropDownClassTwo", "List"))
                .Placeholder("Select Class 2...")
                .CascadeTo("drpClass3").Enable(true)
        )
        </div>
        <div class="fix"></div>
    </div>

    <div class="control-group">
        @Html.Label("Class 3", new { @class = "control-label" })
        <div class="controls">
        @( Html.Telerik().ComboBox()
                .Name("drpClass3")
                .DataBinding(binding => binding.Ajax().Select("_GetDropDownClassThree", "List"))
                .Placeholder("Select Class 3...")
                .CascadeTo("drpClass4").Enable(true)
        )
        </div>
        <div class="fix"></div>
    </div>

    <div class="control-group">
        @Html.Label("Class 4", new { @class = "control-label" })
        <div class="controls">
        @( Html.Telerik().ComboBox()
                .Name("drpClass4")
                .DataBinding(binding => binding.Ajax().Select("_GetDropDownClassFour", "List"))
                .Placeholder("Select Class 4...").Enable(true)
        )
        </div>
        <div class="fix"></div>
    </div>

@Label(“产品类型”,新的{@class=“control Label”})
@(Html.Telerik().ComboBox())
.Name(“drpProductTypes”)
.BindTo(新选择列表(ViewBag.drpProductTypes))
.占位符(“选择类别…”)
.CascadeTo(“drpClass1”).Enable(真)
)
@Label(“Class 1”,新的{@Class=“control Label”})
@(Html.Telerik().ComboBox())
.名称(“drpClass1”)
.DataBinding(binding=>binding.Ajax()。选择(“\u GetDropDownClassOne”,“List”))
.占位符(“选择类别1…”)
.CascadeTo(“drpClass2”).Enable(真)
)
@Label(“Class 2”,新的{@Class=“control Label”})
@(Html.Telerik().ComboBox())
.名称(“drpClass2”)
.DataBinding(binding=>binding.Ajax()。选择(“\u GetDropDownClassTwo”,“List”))
.占位符(“选择类别2…”)
.CascadeTo(“drpClass3”).Enable(真)
)
@Label(“Class 3”,新的{@Class=“control Label”})
@(Html.Telerik().ComboBox())
.名称(“drpClass3”)
.DataBinding(binding=>binding.Ajax()。选择(“\u GetDropDownClassThree”,“List”))
.占位符(“选择类别3…”)
.CascadeTo(“drpClass4”).Enable(真)
)
@Label(“Class 4”,新的{@Class=“control Label”})
@(Html.Telerik().ComboBox())
.名称(“drpClass4”)
.DataBinding(binding=>binding.Ajax()。选择(“\u GetDropDownClassFour”,“List”))
.Placeholder(“选择类别4…”)。启用(true)
)

谢谢

如果您不想要禁用的外观,请不要使用层叠功能,因为这是经过设计的

您可以借助更改事件和数据绑定事件(如果我没有记错的话,通过e.data字段发送另一个DropDownList的值)和重新加载方法手动实现级联

所有这些方法以及如何使用它们,您可以在中找到