gpt4 book ai didi

c# - Sitecore 链接未添加属性

转载 作者:行者123 更新时间:2023-11-30 21:05:42 25 4
gpt4 key购买 nike

我正在使用 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>

我做错了什么?

最佳答案

我怀疑您没有做错任何事情……只是 Sitecore.Web.UI.WebControls.Link 对象没有费心呈现您的额外属性。使用 Reflector 查看代码以确认。

用超链接替换 ​​Sitecore 链接对象。看来您在这里没有做任何保证对标准 ASP.NET 对象使用 Sitecore 控件的事情。

关于c# - Sitecore 链接未添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com