我的页面上有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>
由于
答案 0 :(得分:0)
如果您不希望禁用外观,请不要使用级联功能 - 因为这是设计使然。
您可以借助更改事件和 dataBinding 事件手动实现该级联(如果通过e.data字段发送其他DropDownList的值,则可以我记得正确)和重新加载方法。
所有这些方法以及如何使用它们都可以在documentation中找到。