0

所以我只是在网络应用程序中遇到很多小事情,所以我正在检查各种东西,以确保我不会因为愚蠢的问题而破坏它。

在我的网络应用程序中的某个时间点(试图保持它主要是异步的)我必须更新我的 RadComboBox 中的列表,因为添加了一些东西。我只需要再次调用 RadComboBox.DataBind() 吗?由于我没有明确使用它的数据源(我在手动插入中使用字符串方式)对象来插入我的新记录,我需要告诉它更新吗?当我调用 databind 时,列表似乎没有更新,所以我觉得我需要让数据源重新检查条目或某些东西

谢谢

4

2 回答 2

1

正式的方式是使用 NeedDataSource 事件来设置您的数据源。

当您想重新绑定时,您所要做的就是调用 DataBind() 方法。

于 2010-06-10T19:37:31.067 回答
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>

并且不要 4get 在 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();

上述方法使用 Ajax 更新控件,这意味着您不必进行整页回发...

我希望我能帮上忙。

于 2012-10-04T21:18:00.007 回答