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
I più letti di oggi
- Contare le occorrenze di parole in una frase con LINQ
- Mischiare codice server side e client side in una query LINQ con Entity Framework
- Cambiare il titolo di una pagina ASP.NET con uno user control
- ASP.NET 4.5 e ASP.NET MVC 4 in C# e VB
- Esecuzione a matrici nelle pipeline YAML di Azure DevOps
- Unire liste tramite il Metodo Union di LINQ
- Mappare una relazione molti a molti via codice con Entity Framework Code-First
- Utilizzare i DataTrigger e ControlStoryboardAction per animare una cella di un DataGrid in Silverlight
- Parallelizzare il download di pagine web tramite la Task Parallel Library di .NET Framework 4.0


