0

我的页面上有 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>

谢谢

4

1 回答 1

0

如果您不想要禁用的外观,请不要使用级联功能 - 因为这是设计使然。

您可以在change事件和dataBinding事件(如果我没记错的话,通过 e.data 字段发送另一个 DropDownList 的值)和reload方法的帮助下手动实现该级联。

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

于 2013-01-11T14:29:31.617 回答