さて、私はパンくずを作っています。パンくずの値に応じて、画像がセパレータになります。したがって、「HOME」には1つの画像があり、「SEARCH」には別の画像があります。
私はこれをプログラムで行うことができることを知っています(少なくとも私は仮定します)が、これを行うためのより簡単な方法はありますか?ノードの値に基づいて画像をノードにリンクできますか?PathSeparatorTemplateでそれを行うことはできますか?
ありがとうございました。
さて、私はパンくずを作っています。パンくずの値に応じて、画像がセパレータになります。したがって、「HOME」には1つの画像があり、「SEARCH」には別の画像があります。
私はこれをプログラムで行うことができることを知っています(少なくとも私は仮定します)が、これを行うためのより簡単な方法はありますか?ノードの値に基づいて画像をノードにリンクできますか?PathSeparatorTemplateでそれを行うことはできますか?
ありがとうございました。
あなたは置くことができます
<asp:Image ... />
PathSerparatorTemplate に追加しますが、コードから画像の URL を設定する必要があります。
すでに回答を受け入れているようですが、いくつかのコードが役立つと思ったので、ここにいくつかを示します。
<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
これが誰かに役立つことを願っています。