A volte potrebbe essere necessario personalizzare l'aspetto del controllo SiteMapPath. A tal fine è sufficiente agire tramite gli appositi template:
- RootNodeTemplate: Template per il nodo radice;
- NodeTemplate: Template per il nodo generico;
- CurrentNodeTemplate: Template per il nodo corrente;
- PathSeparatorTemplate: Template per il separatore tra nodi.
e per ogni template (se necessario), sul corrispondente tag per la gestione dello stile:
- RootNodeStyle, gestisce lo stile per il nodo corrente;
- NodeStyle, gestisce lo stile per il nodo generico;
- CurrentNodeStyle, gestisce lo stile per il nodo corrente;
- PathSeparatorStyle, gestisce lo stile per il separatore dei nodi.
Ad esempio si potrebbe configurare il controllo come segue:
<asp:SiteMapPath ID="SiteMapPath1" runat="server" SkipLinkText="Breadcrumbs">
<NodeTemplate>
<asp:LinkButton ID="btnNode" runat="server" ToolTip ='<%# Eval("Title") %>'
PostBackUrl ='<%# Eval("url") %>'><%# Eval("Description") %></asp:LinkButton>
</NodeTemplate>
<PathSeparatorTemplate>
»
</PathSeparatorTemplate>
<PathSeparatorStyle Font-Bold ="true"/> <RootNodeTemplate>
<asp:Button id="btnRootNode" runat="server" Text='<%# Eval("Description") %>'
CommandArgument='<%# Eval("url") %>'
OnClick="btnRootNode_Click" />
</RootNodeTemplate>
<CurrentNodeTemplate >
<asp:Label ID="lblCurrentNode" runat="server" Text='<%# Eval("Description") %>'> </asp:Label>
</CurrentNodeTemplate>
<CurrentNodeStyle Font-Bold="true" />
</asp:SiteMapPath>
ottenendo il risultato in figura: