【发布时间】:2015-08-19 05:06:48
【问题描述】:
我无法在另一个 UserControl 中的 Repeater 中找到 Literal。
我有以下用户控件:
<nav role="navigation">
<ul>
<li><a href="/"<asp:Literal id="litNavHomeActive" runat="server" />>Home</a></li>
<asp:Repeater id="rpt_NavItem" runat="server" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<li><a href="/<asp:Literal id="lit_Url" runat="server" />/"<asp:Literal id="lit_NavActive" runat="server" />><asp:Literal id="lit_Title" runat="server" /></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
<div class="cb"></div>
</nav>
这被放置在 MasterPage 和另一个 ContentPage 中,我试图找到“lit_NavActive”并将其隐藏。
我正在使用这个:
Repeater rpt = ((Theme)Page.Master).FindControl("Navigation").FindControl("rpt_NavItem") as Repeater;
Literal lit = rpt.FindControl("lit_NavActive");
if (lit != null) { lit.Visible = false; }
如果我执行 rpt.Visible = false; 则它不起作用这可以很好地隐藏整个中继器,所以我很接近但无法在中继器内找到文字(lit_NavActive)。有什么想法吗?
【问题讨论】:
标签: c# asp.net webforms repeater findcontrol