【问题标题】:Cascading DropDown gracefully catch error级联 DropDown 优雅地捕获错误
【发布时间】:2013-01-11 03:18:10
【问题描述】:

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

谢谢

【问题讨论】:

    标签: asp.net-mvc telerik-mvc cascadingdropdown


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 2017-11-10
      • 2012-05-15
      • 2018-01-01
      • 2023-03-13
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      相关资源
      最近更新 更多