Le novità di Visual Studio 11 (parte seconda)

Venerdì 16 Settembre 2011 - 15:49

di Gianni Malanga

Microsoft Dev

Continuiamo la carrellata sulle nuove funzionalità di Visual Studio 11 (vNext) rimanendo anche questa volta in ambito ASP.NET, nello specifico nella funzionalità di binding dei controlli. Fino ad ora per effettuare il binding di un controllo con una sorgente dati era necessario specificare all’interno del codice HTML del controllo una cosiddetta espressione di binding, ovvero una cosa di questo tipo:

<ul>
   <asp:Repeater runat="server" ID="rptUtenti">
      <ItemTemplate>
         <li>
            Username: <%# Eval("Username") %><br />
            Ultimo accesso: <%# Eval("LastAccess") %><br />
         </li>
      </ItemTemplate>
   </asp:Repeater>
</ul>

Come vediamo le proprietà Username e LastAccess che evidentemente appartengono ad un probabile oggetto User (in questo caso impostato nel code behind) sono scritte come semplici stringhe con tutti i problemi che questo comporta come ad esempio la possibilità di errore nella scrittura del nome della proprietà oltre al fatto che è necessario conoscere a priori tutte le proprietà dell’oggetto. Sarebbe bello se fosse possibile avere l’aiuto dell’IntelliSense anche in questo caso. Ebbene, Visual Studio vNext ci permetterà per l’appunto di usufruire dell’IntelliSense anche in questo caso.

Sarà infatti sufficiente valorizzare la proprietà ModelType del controllo con il nome completo dell’oggetto in binding e quindi nelle espressioni di binding utilizzare la seguente nuova sintassi:

<ul>
   <asp:Repeater runat="server" ID="rptUtenti" ModelType="MyApp.Utente">
      <ItemTemplate>
         <li>
            Username: <%# Item.Username %><br />
            Ultimo accesso: <%# Item.LastAccess %><br />
         </li>
      </ItemTemplate>
   </asp:Repeater>
</ul>

Quando andremo a scrivere “Item.” immediatamente dopo la pressione del carattere punto vedremo apparire la consueta tendina di selezione dell’IntelliSense che ci elencherà le proprietà dell’oggetto User. Nel caso in cui volessimo impostare un binding a due vie (lettura/scrittura) sarà sufficiente utilizzare BindItem al posto di Item.

Tags:

Categoria: Microsoft Dev | Permalink

Commenti

1

Questa si che è una funzione veramente utile, quindi oltre alle modifiche al programma sono state sviluppate anche modifiche per il linguaggio.

# - postato da Filippo Amadori - 16 Settembre 2011 - 18:09

2

Direi che è una cosa FANTASTICA!
Era ora :D

# - postato da Dario Tordin - 23 Settembre 2011 - 18:19

3

[…] Continuando la nostra esplorazione delle novità Visual Studio 11 (vNext) (qui la seconda parte) incontriamo migliorie e nuove funzionalità anche nel complesso campo del Data Binding. Come abbiamo già visto nel post precedente, in Visual Studio vNext potremo scrivere le espressioni di binding con l’aiuto dell’IntelliSense e quindi in modalità Strongly-Typed, ovvero senza rischio di errori di scrittura e senza la necessità di conoscere a memoria le proprietà degli oggetti. […]

# - postato da Le novità di Visual Studio 11 (parte terza) | Edit - Il blog di HTML.it - 13 Ottobre 2011 - 09:19

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento