Condividi tramite


Associazione a oggetti business

Aggiornamento: novembre 2007

Le applicazioni business utilizzano generalmente un modello di dati incapsulati che si avvale di un componente business o di un livello di accesso ai dati intermedio. Di solito in un'applicazione Web non è solo necessario scrivere il codice per l'oggetto dati business ma anche codice aggiuntivo per comunicare con il componente e altro codice per associare i controlli ai dati gestiti dal componente. Il modello di controllo origine dati di ASP.NET semplifica l'utilizzo di un componente business e riduce in modo significativo o elimina del tutto il codice che è necessario scrivere grazie al controllo ObjectDataSource, alle classi LINQ to SQL e al controllo LinqDataSource.

Controllo ObjectDataSource

Il controllo ObjectDataSource funziona con qualsiasi oggetto business che incapsuli dati e fornisca servizi di gestione dei dati. Il controllo ObjectDataSource utilizza il modello a oggetti di controllo origine dati standard e pertanto può essere associato ai controlli con associazione a dati, come il controllo GridView. L'oggetto business di origine può gestire l'accesso ai dati direttamente oppure fungere da wrapper di un componente business esistente. Per ulteriori informazioni, vedere Creazione di un oggetto di origine del controllo ObjectDataSource.

Per associare un controllo ObjectDataSource a un oggetto business, è necessario impostare la proprietà TypeName del controllo ObjectDataSource sul tipo (nome classe) dell'oggetto business. Si procede quindi alla specifica di uno o più metodi dell'oggetto business che verranno chiamati dal controllo ObjectDataSource per specifiche operazioni dati. La proprietà SelectMethod del controllo ObjectDataSource identifica il metodo dell'oggetto business di origine che verrà utilizzato per recuperare i dati. Analogamente, le proprietà InsertMethod, UpdateMethod e DeleteMethod identificano i metodi che verranno utilizzati rispettivamente per le operazioni di inserimento, aggiornamento ed eliminazione.

Dopo aver associato il controllo ObjectDataSource all'oggetto business, è possibile associare un controllo al controllo ObjectDataSource utilizzando la proprietà DataSourceID del controllo con associazione a dati, come illustrato nell'esempio riportato di seguito.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" >

        <asp:gridview
          id="GridView1"
          
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.JSL.EmployeeLogic" />

    </form>
  </body>
</html>

Per ulteriori dettagli, vedere gli argomenti nella sezione Cenni preliminari sul controllo server Web ObjectDataSource.

Classi LINQ to SQL

È possibile creare classi che rappresentano un database e le relative tabelle utilizzando Object Relational Designer. Le classi generate dalla finestra di progettazione utilizzano LINQ to SQL per eseguire il recupero dei dati e le modifiche. Dopo avere creato le classi, è possibile creare l'associazione agli oggetti dati utilizzando il controllo LinqDataSource o il controllo ObjectDataSource. Per ulteriori informazioni sul controllo LinqDataSource, vedere Cenni preliminari sul controllo server Web LinqDataSource. Per ulteriori informazioni su LINQ e ASP.NET, vedere Utilizzo di LINQ con ASP.NET.

Vedere anche

Concetti

Cenni preliminari sul controllo server Web LinqDataSource

Riferimenti

Cenni preliminari sul controllo server Web ObjectDataSource