好的,所以我正在制作面包屑,并且根据面包屑的价值,图像将成为分隔符。所以“HOME”将有一个图像,“SEARCH”将有另一个。
我知道我可以以编程方式执行此操作(至少我是ASSUME)但是有更简单的方法吗?我可以根据节点的值将图像链接到节点吗?我可以使用PathSeparatorTemplate吗?
谢谢。
答案 0 :(得分:2)
你可以放一个
<asp:Image ... />
进入PathSerparatorTemplate但你仍然需要从代码中设置图像网址。
答案 1 :(得分:0)
我看到你已经接受了答案,但我认为一些代码会有所帮助,所以这里有一些:
<asp:SiteMapPath ID="SiteMapPath1" Runat="server" OnItemDataBound="Item_Bound">
<PathSeparatorTemplate>
<asp:Image ID="SepImage" runat="server" ImageUrl="/images"/>
</PathSeparatorTemplate>
</asp:SiteMapPath>
private string lastItemKey = "";
public void Item_Bound(Object sender, SiteMapNodeItemEventArgs e)
{
if (e.Item.ItemType == SiteMapNodeItemType.PathSeparator)
{
string imageUrl = ((Image) e.Item.Controls[1]).ImageUrl;
imageUrl += lastItemKey + ".png";
((Image) e.Item.Controls[1]).ImageUrl = imageUrl;
}
else
{
lastItemKey = e.Item.SiteMapNode.Key;
}
}
然后我有一个/images
目录,其中包含Key
的每个SiteMapNode
的图像。换句话说:此代码将导致在每个路径节点之后显示图像,以依赖于之前节点的密钥。
希望这有助于某人。