始终触发Telerik控制事件

始终触发Telerik控制事件,telerik,radcombobox,radajaxmanager,Telerik,Radcombobox,Radajaxmanager,我正在使用Telerik组合框创建级联多选下拉列表 我在ddlProject、ddlUnit、DDLru纪、ddlDocType页面上有几个下拉列表 我使用Telerik RadAjaxManager触发控件更新,其标记如下: <telerik:RadAjaxManager ID="ajaxManager" runat="server" DefaultLoadingPanelID="lpnlLoading" > <AjaxSettings>

我正在使用Telerik组合框创建级联多选下拉列表

我在ddlProject、ddlUnit、DDLru纪、ddlDocType页面上有几个下拉列表

我使用Telerik RadAjaxManager触发控件更新,其标记如下:

<telerik:RadAjaxManager ID="ajaxManager" runat="server" DefaultLoadingPanelID="lpnlLoading" >
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="ddlProject" EventName="TextChanged">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ddlUnit" UpdatePanelRenderMode="Inline"/>
                    <telerik:AjaxUpdatedControl ControlID="ddlDiscipline" UpdatePanelRenderMode="Inline" />
                    <telerik:AjaxUpdatedControl ControlID="ddlDocType" UpdatePanelRenderMode="Inline" />
                    <telerik:AjaxUpdatedControl ControlID="ddlPhase" UpdatePanelRenderMode="Inline" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ddlUnit" EventName="TextChanged" >
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ddlDocType" UpdatePanelRenderMode="Inline"  />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ddlDiscipline" EventName="TextChanged">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ddlDocType" UpdatePanelRenderMode="Inline" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

Telerik刚刚通知我这是一个bug,已经转交给了他们的开发团队


不一定是一个有效的答案,但解释了我为什么会遇到这些问题。

不确定这是否有帮助,但在我们的例子中,问题在于IIS服务器缓存内容,这对Telerik控件有不利影响。只有当我们将web.config设置从
debug=“true”
切换到
debug=“false”
时,我们才意识到这一点,因为这允许IIS启用其缓存和其他相关优化,出于某种原因关闭浏览器中的所有缓存仍然会破坏控制,但是,在IIS中关闭它或将其返回到调试模式解决了这个问题。

您为什么要将事件包括在ajax管理器中,而不仅仅是在ddlProject下拉列表中使用SelectedIndexChanged(或其他事件)?这似乎可以解决您的问题,但我不知道您的要求是什么。使用ajax管理器的原因是telerik套件的一部分还具有一个加载面板,在更新时,该面板会出现在每个控件上,我非常喜欢。我可以使用一个更新面板,把所有的东西都包在其中一个面板上,也可以有单独的面板。我已经在Ajax管理器中包含了EventName,因为我不确定这是否是问题所在。无论我是否指定了事件,它仍然会触发页面上的所有控制事件。您是否发现了导致此问题的原因以及如何解决此问题,因为我目前发现了相同的行为。很抱歉,响应太晚。这是一个可以控制的错误。Telerik再也没有回复我关于修复的问题,我放弃了使用控制装置。
<telerik:RadComboBox ID="ddlUnit" runat="server" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" 
   MaxHeight="450px" Width="300px" DataTextField="Value" DataValueField="Key" Label="Unit:" 
   LabelCssClass="HeaderLabel" DropDownWidth="600px" Height="400px"
   AutoPostBack="true" OnTextChanged="ddlUnit_TextChanged">
</telerik:RadComboBox>
protected void ddlDiscipline_TextChanged(object sender, EventArgs e)
        {
            CTRmDataService ctrmDS = new CTRmDataService();

            this.ddlDocType.DataSource = ctrmDS.GetDocumentTypesForProjectsDisciplineAndUnit(GetSelectedProjects(), 
                                                                                             GetSelectedDisciplines(), 
                                                                                             GetSelectedUnits(), 
                                                                                             LoggedOnUser.Id);
            this.ddlDocType.DataBind();
        }