как получить доступ к шаблону заголовка в c#

У меня есть шаблон:

<asp:Repeater ID="litFolder" runat="server" OnItemDataBound="litFolder_ItemDataBound">
    <HeaderTemplate>
        <ul class="test" id="currentLink">
    </HeaderTemplate>
    <ItemTemplate>
        <div class="leftNav">
            <li>
               <asp:HyperLink ID="innerHyperLink" runat="server"></asp:HyperLink>
            </li>
        </div>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

и я пытаюсь установить блок отображения, когда выбрана ссылка. I can set the link to display block, but how do I set the ul to display block ( only using C# )

    protected void litFolder_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        // if the child from the first repeater has children, it will grab them here
        Item innerItem = (Item)e.Item.DataItem;

        if (innerItem != null)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                // this creates a link to the page in sitecore once clicked
                HyperLink topNavigation = (HyperLink)e.Item.FindControl("innerHyperLink");
                topNavigation.NavigateUrl = LinkManager.GetItemUrl(innerItem);
                topNavigation.Text = innerItem["Title"];

                if (topNavigation != null) {
                   //this is where I think I need to define the ul to display block
                }
            }
        }
    }

Мне нужно убедиться, что текущая ссылка устанавливает ul, в котором она находится, а не все ul с тестом класса.

1 ответ

  1. Для предотвращения Ulот быть сломленным, установьте <div class="leftNav">внутренность <li>как показано ниже:

    <asp:Repeater ID="litFolder" runat="server" OnItemDataBound="litFolder_ItemDataBound">
    <HeaderTemplate>
        <ul class="test" id="currentLink">
    </HeaderTemplate>
    <ItemTemplate>
            <li>
             <div class="leftNav">
               <asp:HyperLink ID="innerHyperLink" runat="server"></asp:HyperLink>
             </div>
            </li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
    

    Чтобы задать стиль блока отображения, можно найти элемент управления на основе идентификатора, а затем установить для него стиль.

    Спасибо