Benchè l'approccio basato sui Template sia utile, in certi casi presenta dei limiti che in realtà si possono aggirare con un po' di codice.
Lo scenario è un Repeater così definito:
<table border="1">
<ASP:Repeater id="rp" runat="server" onItemCreated="rp_ItemCreated">
<ItemTemplate>
<tr id="tr" runat="server">
<td><%#DataBinder.Eval(Container.DataItem, "Nome")%></td>
</tr>
</ItemTemplate>
</ASP:Repeater>
</table>La necessità è quella di creare un template che abbia un colore diverso nell'AlternatingItem. E' ovviamente possibile arrivarci duplicando il template, ma se non si vuole duplicare inutilmente il codice, perchè ad esempio il template è caricato esternamente, come quando si utilizza LoadTemplate, è sempre possibile intercettare l'evento ItemCreated, che si verifica alla creazione di ogni singolo item del Repeater, e cambiare il colore di sfondo (o qualsiasi altra proprietà) in questo modo:
private void rp_ItemCreated(object sender, RepeaterItemEventArgs e)
{
// solo se è il pager
if (e.Item.ItemType == ListItemType.AlternatingItem) {
// lo rendo rosso!
TableRow tRow = (TableRow)e.Item.FindControl("tr");
tRow.Style("background-color") = "red";
}
}
- ListView è DataPager
- Rilasciata la Preview 2 di ASP.NET AJAX 4.0.
- Realizzare applicazioni ASP.NET sicure - Prima parte
- #912 - Composite Custom Control per ASP.NET
- #939 - Un ExpressionBuilder di ASP.NET per recuperare le immagini all'interno del tema corrente
- I bug di ASP.NET AJAX 1.0 risolti con ASP.NET AJAX 3.5
- Prima beta pubblica per il SP1 del .NET Framework 3.5 e VS 2008
- ASP.NET 3.5: global.asax vs managed modules
- #937 - Personalizzare il contenuto del profilo con l'evento Personalize
- #952 - Utilizzare le funzionalità di unione dei Javascript di ASP.NET 3.5 SP 1
- .NET Framework 3.5 e Visual Studio 2008
- #922 - Utilizzare il metodo Page.SetFocus per impostare il focus all'interno della form
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.







Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!