ASP.NET 2.0 Site Navigation: Leggere gli attributi custom del .sitemap

Con l'obiettivo di indicare una icona diversa per ogni voce del menu ho aggiunto un attributo ad ogni nodo del mio .sitemap, per esempio:

<siteMapNode url="~/SubAppA/" title="SubAppA" description="Sotto-Applicazione A" icon="img/btn_home1.gif"/>

Per visualizzare l'immagine con un Menu (System.Web.UI.WebControls) ho provato dal DataBinding a specificare il nome attributo ImageUrlField indicando il valore icon ma ottendo un bel errore dal Menu "Errori parsing control: Could not bind to the 'icon' property...".

Quindi ho provato a raggiungere l'obiettivo con un po di codice nell'evento

protected void Menu2_MenuItemDataBound(object sender, MenuEventArgs e)

e così ho visto che SiteMapNode.Item è una collezione read-only degli attributi custom del nodo, quindi questo codice ha fatto il caso mio.

     e.Item.ImageUrl = ((SiteMapNode)e.Item.DataItem)["icon"];

Grazie a Google ho trovato conferma di questa soluzione nel blog di Danny Chen (ASP.NET QA tester) in queto post: http://weblogs.asp.net/dannychen/archive/2005/03/28/396099.aspx

Print | posted @ Monday, November 28, 2005 12:21 PM

Comments on this entry:

Gravatar # TIP ASP.Net 2.0: personalizzare lo stile dei pulsanti del menu
by Giorgio Sardo's Blog at 12/11/2005 5:12 PM

Gravatar # TIP ASP.Net 2.0: personalizzare lo stile dei pulsanti del menu
by Giorgio Sardo's Blog at 12/11/2005 5:53 PM

Luka ha gi
Comments have been closed on this topic.