首页 > 解决方案 > 更改动态类

  • 使用 InnerHTML 创建的元素
  • 问题描述

    我正在使用 UL 和 LI 元素在我的 asp.net 母版页上创建一个动态菜单。HTML部分是:

    <ul class="nav nav-list" id="ulMenu" runat="server">
    
    
    </ul>
    

    这是我用来填充上述 UL 中的 LI 元素的代码:

    for (int i = 0; i < 5; i++)
    {        
         strInnerHTML += "<li runat='server' id='menu" + (i + 1).ToString() + "' class='hover'>";
    }
    ulMenu.InnerHtml = strInnerHTML;
    

    现在我想要的是根据页面 URL 将所选 LI 元素的类设置为“悬停活动”。我正在使用以下代码来执行此操作:

    HtmlGenericControl CurrMenu = (HtmlGenericControl)this.FindControl(ControlId);
    CurrMenu.Attributes.Add("class", "active");
    

    在上面的行中,ControlId 是选定的 LI 元素的 ID,准确地说是“menu1”、“menu2”等。这里的问题是 FindControl() 函数没有找到 LI 元素。它返回空值。

    请帮助我。

    标签: c#asp.nethtml-listsmaster-pages

    解决方案


    推荐阅读