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.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Effettuare il binding di date in Blazor
Implementare il throttling in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Load test di ASP.NET Core con k6