Telerik RadAjaxManager在页面加载时显示/隐藏控件时出现问题

Telerik RadAjaxManager在页面加载时显示/隐藏控件时出现问题,telerik,radajaxmanager,Telerik,Radajaxmanager,我有带下拉列表、标签和文本框的网络表单。如下图所示: <asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="true"> </asp:DropDownList> <asp:Label ID="lblTest" runat="server" Text="Some text"> </asp:Label> <asp:TextBox ID="edtTest" runat="serv

我有带下拉列表、标签和文本框的网络表单。如下图所示:

<asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="true">
</asp:DropDownList> 

<asp:Label ID="lblTest" runat="server" Text="Some text">
</asp:Label>
<asp:TextBox ID="edtTest" runat="server">
</asp:TextBox> 
它工作正常,但现在我想在加载页面时调用SetupVisibility:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    SetupVisibility()
End Sub
在这种情况下会出现问题:

  • SetupVisibility()在加载页面时隐藏文本框和标签
  • 我更改ddlTest下拉列表上的值
  • SetupVisibility()希望显示文本框和标签,但随后我收到错误:
    Microsoft JScript-运行时错误:无法使用ID:ctl00\u CPH1\u lblTest更新控件。控件不存在。
    问题出在哪里

  • 页面初始化时会触发页面初始化。在此事件期间,无法保证已创建控件


    尝试将您的代码放入页面加载,因为此时保证已创建控件。

    我已经解决了这个问题。我已将文本框和标签包装到div和panel中:

    <div id="panelTest_DIV" runat="server">
      <asp:Panel ID="panelTest" runat="server">
        <asp:Label ID="lblTest" runat="server" Text="Some text..."></asp:Label><br />
        <asp:TextBox ID="edtTest" runat="server"></asp:TextBox>
      </asp:Panel>
    </div>
    
    
    
    和AjaxManager:

    <rad:AjaxSetting AjaxControlID="ddlTest">
      <UpdatedControls>
        <rad:AjaxUpdatedControl ControlID="panelTest_DIV" />
      </UpdatedControls>
    </rad:AjaxSetting>
    
    
    

    内部
    SetupVisibility()
    I设置
    panelTest.Visibility
    。它解决了问题。

    我已经在页面加载中完成了。我刚才问错了。更正。
    <div id="panelTest_DIV" runat="server">
      <asp:Panel ID="panelTest" runat="server">
        <asp:Label ID="lblTest" runat="server" Text="Some text..."></asp:Label><br />
        <asp:TextBox ID="edtTest" runat="server"></asp:TextBox>
      </asp:Panel>
    </div>
    
    <rad:AjaxSetting AjaxControlID="ddlTest">
      <UpdatedControls>
        <rad:AjaxUpdatedControl ControlID="panelTest_DIV" />
      </UpdatedControls>
    </rad:AjaxSetting>