Sitecore と VS2010 (バージョン 4) を使用しています。ユーザーが移動するタブ インデックスに従って、コード ビハインドから属性を追加しています。
Link hlTabLink;
i = e.Item.DataItem as Item;
hlTabLink = e.Item.FindControl("hlTabLink") as Link;
hlTabLink.Target = Sitecore.Links.LinkManager.GetItemUrl(i);
hlTabLink.DataSource = i.Paths.FullPath;
hlTabLink.Field = "Title";
String liContainerId;
switch (hlTabLink.TabIndex) //Switch case statements for the tab navigation.
{
case 0:
liContainerId = "tab-label TabbedPanelsTabSelected";
hlTabLink.Attributes.Add("class", liContainerId);
break;
case 1:
liContainerId = "tab-label TabbedPanelsTabSelected";
hlTabLink.Attributes.Add("class", liContainerId);
break;
case 2:
liContainerId = "tab-label last";
hlTabLink.Attributes.Add("class", liContainerId);
break;
}
これは、.ascx コントロールのマークアップです。
<div class="tab-panels" id="TabbedPanels1">
<ul id="Tab-labels">
<asp:Repeater ID="rptTab" runat="server" OnItemDataBound="rptTab_ItemBound">
<ItemTemplate>
<li>
<sc:Link ID = "hlTabLink" Field = "scTabLink" runat ="server"></sc:Link>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
レンダリング後のマークアップは次のようになります。
<div class="tab-panels" id="TabbedPanels1">
<ul id="Tab-labels">
<li>
Overview
</li>
<li>
Why Me
</li>
</ul>
ここで何が間違っていますか?