所以我只是在网络应用程序中遇到很多小事情,所以我正在检查所有类型的东西,以确保我没有打破它导致愚蠢的问题。
在我的网络应用程序的某个时刻(试图保持它主要是异步)我必须更新我的RadComboBox中的列表,因为添加了一些东西。我只需要再次调用RadComboBox.DataBind()吗?由于我没有明确地使用它的数据源(我在手工插入时使用字符串方式)对象来插入我的新记录,我需要告诉它更新吗?当我刚刚调用数据绑定时,列表似乎没有更新,所以我觉得我需要对条目或SOMETHING进行数据源重新检查
由于
答案 0 :(得分:1)
正式的方法是使用NeedDataSource事件来设置数据源。
当你想重新绑定时,你所要做的就是调用DataBind()方法。
答案 1 :(得分:0)
我刚刚遇到了我的应用程序的问题,我设法通过将Combobox包装在更新面板中来解决它:
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
<telerik:RadComboBox
ID="txtSearch" runat="server"
Width="120px" Height="25px"
EmptyMessage="Type a Taxonomy"
ShowToggleImage="false" ShowDropDownOnTextboxClick="false" AllowCustomText="true" MarkFirstMatch="true"
>
</telerik:RadComboBox>
</telerik:RadAjaxPanel>
并且也不要在AJAX SCript管理器中添加更新面板,如下所示;
<telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="txtSearch" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
为了进一步确保事情正确更新,所以每次将项目添加到绑定到ComboBox的Source时,您必须调用DataBind();
Above方法使用Ajax更新控件,这意味着你不必进行全页回发...
我希望我能提供帮助。