使用asp和c#中的子页面在母版页(代码隐藏)中添加类

本文关键字:代码 母版页 隐藏 添加 asp 使用 | 更新日期: 2023-09-27 18:19:43

我有一个页面,我正在使用代码隐藏来显示活动选项卡,因为选项卡在我的主页面上,内容在子页上。

但我不知道为什么它不起作用——我在很多应用程序中都用过它,因为它工作得很好,但在这个特定的应用程序中不起作用。

System.Web.UI.HtmlControls.HtmlGenericControl currdiv = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("ClientTab");
currdiv.Attributes.Add("class", "ClientTabActive");

请签出我的代码,并给我建议为什么它不起作用。

使用asp和c#中的子页面在母版页(代码隐藏)中添加类

FindControl只能找到服务器端控件,而不能找到纯HTML标记。在您的情况下,这意味着您应该将属性runat="server"添加到ClientTabdiv:

<li>
    <a href="Clients.aspx">
        <div id="ClientTab" class="MainNavigationContainerItem" runat="server"> Client</div>
    </a>
</li>

然而,您的代码似乎向该控件添加了另一个class标记,这可能不是您想要的。最有可能你想要的是

class="MainNavigationContainerItem ClientTabActive"

在这种情况下,代码后面的第二行应该是这样的:

currdiv.Attributes["class"] = string.Format("{0} {1}", currdiv.Attributes["class"], "ClientTabActive";