#795 - Associare un'immagine ad ogni item di un control Menu

Tra i nuovi controlli di ASP.NET 2.0 ci sono il treeview ed il menu. Questi controlli offrono in nativo la possibilità di interfacciarsi con un SiteMapProvider che popola i nodi in maniera automatica.
Stranamente, mentre i controlli hanno una proprietà per impostare l'immagine da associare ad ogni item, il provider di default non ha questa proprietà.
Tuttavia si può aggirare il problema legando questa proprietà in fase di databinding:

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

Ecco un esempio:

<script runat="server">
protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
  e.Item.ImageUrl = ((SiteMapNode)e.Item.DataItem)["imageurl"];
}
</script>

<form runat="server">
<div>
<asp:menu id="Menu1" runat="server" datasourceid="ds" onmenuitemdatabound="Menu1_MenuItemDataBound"></asp:menu>
<asp:sitemapdatasource id="ds" runat="server" />
</div>
</form>


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC