-5

我有一个页面,我正在使用后面的代码来显示活动选项卡,因为这些选项卡在我的母版页上,而内容在子页上。

但我不知道为什么它不工作我在许多应用程序中使用它,因为它工作正常但不是在这个特定的.

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

请检查我的代码并给我建议为什么它不起作用。

4

1 回答 1

2

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";
于 2013-06-25T08:18:07.877 回答