Pergunta

Ok, então estou construindo migalhas de pão e, dependendo do valor da troca de pão, uma imagem será o separador. Portanto, "Home" terá uma imagem e "pesquisa" terão outra.

Eu sei que posso fazer isso programaticamente (pelo menos presumo), mas existe uma maneira mais fácil de fazer isso? Posso vincular uma imagem a um nó com base no valor do nó? Posso fazer isso com PathSeparatorTemplate?

Obrigada.

Foi útil?

Solução

Vejo que você já aceitou uma resposta, mas pensei que algum código ajudaria, então aqui estão alguns:

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;
        }
    }

Então eu tenho um /images diretório contendo uma imagem para cada um dos Keyé do SiteMapNodes. Em outros termos: este código resultará na exibição da imagem, após cada um dos nós do caminho, depender da chave do nó antes dela.

Espero que isso ajude alguém.

Outras dicas

Você pode colocar um

<asp:Image ... />

no PathSerParatorTemplate, mas você ainda precisa definir o URL da imagem do código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top