母版页控件列表只返回一些控件

本文关键字:控件 返回 列表 母版页 | 更新日期: 2023-09-27 18:09:18

我的ASP有一个小问题。网络页面。

我正试图从母版页代码内的母版页获得所有控件。

我使用以下代码

对子页面进行了此操作
foreach (Control ctrl in ContentPlaceHolder1.Controls)
{
    if (ctrl.GetType() == typeof(Label))
    {
        //Do Stuff...
    }
}

但是当我尝试用

获取其他控件时
foreach (Control ctrl in this.form1.Controls)

它不能完全工作。

我得到了我的3个标签,但不能访问其余的。

这是我的ASP代码的一部分

<div style="float: right;">
    <ul class="main-language language-level main-language-level-0" >
        <li><a href="">
                <asp:Label runat="server" Text="Deutschland" ID="lbl_Language"/>
            </a>
            <ul class="language-level main-language-level-1">
                <li>
                    <a href="?Lng=EN">
                        <asp:Label ID="lbl_English" runat="server" Text="United Kingdom" ForeColor="#0D679C" Font-Names="Century Gothic" />
                    </a> 
                    <span>English</span>
                </li>
                <li>
                    <a href="?Lng=DE">
                        <asp:Label ID="lbl_German" runat="server" Text="Deutschland" ForeColor="#0D679C" Font-Names="Century Gothic" />
                    </a>
                    <span>Deutsch</span>
                </li>
            </ul>
            <img class="menu-image" src="Images/arrow_languageselection.png" />
        </li>
    </ul>
    <br />
    <a href="CustomerServiceLogin.aspx?Lgn=22TR" runat="server" id="LogLink">
        <asp:Label CssClass="ButtonOrange" runat="server" ID="lbl_Login" />
        <asp:Label CssClass="ButtonOrange" runat="server" ID="lbl_Logoff" Visible="false" />
    </a>
</div>

我能找到的标签只有lbl_Language, lbl_Englishlbl_German

有人能解决这个问题吗?

真诚

CarnVanBeck

母版页控件列表只返回一些控件

如果您无法访问的标签嵌套在另一个控件中,那么当您遍历form1.controls时,它们将不会返回。您将需要一个递归解决方案来返回所有控件。

foreach (Control ctrl in this.form1.Controls)
{
    if (ctrl.Controls.Count > 0)
    {
        // do recursive call
    }
}