如果您使用的是RadAjaxManager/RadAjaxManagerProxy有你确定了第一个下拉列表会更新第二个下拉列表:
<telerik:RadAjaxManagerProxy ID="ajaxManager" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="ddlWithOnChangeEvent">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ddlBeingUpdated" />
</UpdatedControls>
</telerik:AjaxSetting>
...
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
下一个点值得考虑的是,你应该设置AppendDataBoundItems为true,这将允许将数据绑定对象添加到组合框以及手动添加的组合框中。
<telerik:RadComboBox ID="ddlBeingUpdated" runat="server" Height="200px" AppendDataBoundItems="true" />
一两件事值得指出的这里要说的是,如果你保持功能,因为它是,每次数据绑定时,它只会再增加新的项目到现有列表。我会在这里建议,在添加新的项目之前,该功能被更改为清除任何以前的项目。
var dt = myFunc();
ddlBeingUpdated.Items.Clear();
ddlBeingUpdated.DataTextField="Name";
ddlBeingUpdated.DataValueField="Id";
ddlBeingUpdated.DataSource=dt;
ddlBeingUpdated.Databind();
ddl.Items.Insert(0,new RadComboBoxItem ("-1","---Choose---"));
我知道,看着你的代码,我的版本可能是更近的比你自己的,但希望上面的例子可以证明你如何实现所需要的变化。
这是在整页回发期间还是Ajax回发?如果它的Ajax,并且您正在使用radajaxmanager或radajaxproxy,请确保您的控件位于更新的控件列表中。 –
@ObsidianPhoenix在完整页面回发期间发生......我没有使用任何radajaxmgr或prxy –
在UI上呈现什么东西?你有任何标记呈现? –