1

さて、私はパンくずを作っています。パンくずの値に応じて、画像がセパレータになります。したがって、「HOME」には1つの画像があり、「SEARCH」には別の画像があります。

私はこれをプログラムで行うことができることを知っています(少なくとも私は仮定します)が、これを行うためのより簡単な方法はありますか?ノードの値に基づいて画像をノードにリンクできますか?PathSeparatorTemplateでそれを行うことはできますか?

ありがとうございました。

4

2 に答える 2

2

あなたは置くことができます

<asp:Image ... />

PathSerparatorTemplate に追加しますが、コードから画像の URL を設定する必要があります。

于 2008-10-13T19:56:49.313 に答える
0

すでに回答を受け入れているようですが、いくつかのコードが役立つと思ったので、ここにいくつかを示します。

Site1.Master


    <asp:SiteMapPath ID="SiteMapPath1" Runat="server" OnItemDataBound="Item_Bound">
        <PathSeparatorTemplate>
            <asp:Image ID="SepImage" runat="server" ImageUrl="/images"/>
        </PathSeparatorTemplate>
    </asp:SiteMapPath>

Site1.Master.cs


    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各の画像を含むディレクトリがあります。言い換えると、このコードにより、各パス ノードの後に​​、その前のノードのキーに応じて画像が表示されます。KeySiteMapNode

これが誰かに役立つことを願っています。

于 2008-10-13T22:17:07.910 に答える