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

Le novità  di Visual Studio 11 (parte terza)

Link copiato negli appunti

Continuando la nostra esplorazione delle

[!] Ci sono problemi con l'autore. Controllare il mapping sull'Author Manager

(vNext) (qui la

[!] Ci sono problemi con l'autore. Controllare il mapping sull'Author Manager

) 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.

Oltre a questo, vNext porterà  con se anche un concetto totalmente nuovo di Data Binding, ovvero il Model Binding (ereditato da ASP.NET MVC). In pratica per Model Binding si intende un approccio al data binding focalizzato sul codice. Il Model Binding consente infatti di scrivere i nostri metodi per realizzare le quattro operazioni fondamentali sui dati (

[!] Ci sono problemi con l'autore. Controllare il mapping sull'Author Manager

) e di associarli facilmente ai controlli server i quali, dal loro canto, sapranno fare buon uso di questi metodi richiamandoli quando opportuno nell'ambito del ciclo di vita della pagina ASP.NET.

Vediamo un esempio che vale più di mille parole:

<asp:GridView ID="gvProducts" runat="server" ModelType="MyApp.Product"
    SelectMethod="GetProducts" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" />
        <asp:BoundField DataField="Name" HeaderText="Nome" />
        <asp:BoundField DataField="Description" HeaderText="Descrizione" />
        <asp:TemplateField HeaderText="Venduti">
            <ItemTemplate><%# Item.Orders.Count %></ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

In questo caso abbiamo una GridView che visualizza l'elenco dei prodotti con il numero di pezzi venduti. Come vediamo abbiamo valorizzato la proprietà  ModelType affinchè potessimo utilizzare la nuova modalità  di scrittura delle espressioni di binding che utilizza l'oggetto Item. Poi vediamo che la proprietà  SelectMethod è stata valorizzata con il metodo GetProducts che troviamo nel code behind della pagina:


public IQueryable<Product> GetProducts() {
var dbECommerce = new dbECommerce();
return dbECommerce.Products.Include(o => o.Orders);
}

In questo caso specifico utilizziamo Entity Framework per recuperare l'elenco dei prodotti e contestualmente diciamo anche, con Products.Include che vogliamo recuperare anche le informazioni sugli ordini di ciascun prodotto.

In pratica, come vediamo, non è più necessario utilizzare un oggetto Data Source intermedio come SqlDataSource od ObjectDataSource perchè con il nuovo Model Binding i server controls sono in grado autonomamente di richiamare i metodi helpers preposti alla gestione dei dati.

Questo articolo contiene link di affiliazione: acquisti o ordini effettuati tramite tali link permetteranno al nostro sito di ricevere una commissione nel rispetto del codice etico. Le offerte potrebbero subire variazioni di prezzo dopo la pubblicazione.

Ti consigliamo anche