首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面加载时显示/隐藏控件时的RadAjaxManager问题

页面加载时显示/隐藏控件时的RadAjaxManager问题
EN

Stack Overflow用户
提问于 2010-06-15 08:18:54
回答 2查看 6.9K关注 0票数 1

我有一个带有下拉列表、标签和文本框的网页。如下所示:

代码语言:javascript
复制
<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> 

我希望显示/隐藏标签和文本框,具体取决于下拉列表中选择的值。所以我添加了RadAjaxManader:

代码语言:javascript
复制
<rad:RadAjaxManager ID="RadAjaxManager1" runat="server">  
    <AjaxSettings>   
        <rad:AjaxSetting AjaxControlID="ddlTest">   
            <UpdatedControls> 
                <rad:AjaxUpdatedControl ControlID="lblTest" /> 
                <rad:AjaxUpdatedControl ControlID="edtTest" /> 
            </UpdatedControls> 
        </rad:AjaxSetting> 
    </AjaxSettings> 
</rad:RadAjaxManager>  

从下拉列表中获取值的过程"SetupVisibility“会对是否显示或隐藏标签和文本框进行一些修改。当我像这样使用这个程序:

代码语言:javascript
复制
Protected Sub ddlTest_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTest.SelectedIndexChanged  
    SetupVisibility()  
End Sub 

它工作得很好,但是现在我想在加载页面时调用SetupVisibility:

代码语言:javascript
复制
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    SetupVisibility()
End Sub

在这种情况下会出现问题:

  1. SetupVisibility()在加载页面时隐藏文本框和标签。
  2. i在ddlTest下拉列表上更改值,list.
  3. SetupVisibility()希望显示文本框和标签,但是I得到错误Microsoft JScript - runtime error: Cannot update control with ID: ctl00_CPH1_lblTest. The control does not exist.问题在哪里?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-15 09:47:36

我已经解决了问题。我已经将文本框和标签包装成div和面板:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<rad:AjaxSetting AjaxControlID="ddlTest">
  <UpdatedControls>
    <rad:AjaxUpdatedControl ControlID="panelTest_DIV" />
  </UpdatedControls>
</rad:AjaxSetting>

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

票数 3
EN

Stack Overflow用户

发布于 2010-06-15 08:25:48

当页面初始化时会触发Page_Init。在此事件中,没有创建控件的监护人。

尝试将您的代码放入Page_Load中,因为届时控件将被保证已经创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3043537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档