Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le novità  di Visual Studio 11 (parte seconda)

Link copiato negli appunti

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.

Ti consigliamo anche