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>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.