Databind two-way con ASP.NET 2.0, <%# Bind() %>, GridView e DropDownList

di Daniele Bochicchio, in ASP.NET 2.0, DataBinding, GridView,

ASP.NET 2.0 offre la possibilità di utilizzare una nuova sintassi di binding, chiamato two-way perchè è in grado di inviare il valore modificato alla sorgente impostata attraverso la proprietà DataSourceID.
In pratica consente di utilizzare, in controlli come GridView, la possibilità di propagare direttamente ai parameters, in caso di update o insert, i valori modificati attraverso i controls.
Un caso particolare in cui può essere davvero comodo è all'interno di una GridView, con un TemplateField all'interno del quale venga definita una DropDownList, in questo modo:

<asp:TemplateField HeaderText="Categoria">
  <EditItemTemplate>
    <asp:DropDownList runat="server" DataSourceID="categoriesDS"
          DataTextField="Description" DataValueField="ID"
           SelectedValue='<%# Bind("ID") %>' />
  </EditItemTemplate>
   ...
</asp:TemplateField>

L'utilizzo dell'istruzione

<%# Bind("nomeproprietà")%>

fa sì che venga gestito il recupero del valore del parametro anche per inserimenti e modifiche.
Questa tecnica funziona anche con DataSource diversi dal SqlDataSource, come ObjectDataSource, ed ha l'unico limite di funzionare quando il controllo interno, in questo caso la nostra DropDownList, viene a sua volta popolata attraverso un DataSource Control e non utilizzando un approccio come quello utilizzato nella versione 1.x.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

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