Condividi tramite


ObjectDataSource.SelectParameters Proprietà

Definizione

Ottiene un insieme di parametri utilizzati dal metodo specificato dalla proprietà SelectMethod.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

Valore della proprietà

Insieme di parametri utilizzati dal metodo specificato dalla proprietà SelectMethod.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare un singolo record di dati usando un ObjectDataSource controllo e visualizzarlo in un DetailsView controllo . Il ObjectDataSource controllo recupera un record dipendente specifico chiamando il GetEmployee metodo della EmployeeLogic classe . Il GetEmployee metodo richiede un parametro ID dipendente. Il ObjectDataSource controllo usa un QueryStringParameter elemento nel markup per creare un QueryStringParameter oggetto che recupererà il valore di un parametro della stringa di query specificato dall'URL e lo passerà al GetEmployee metodo .

È possibile usare altre classi di parametri per recuperare valori da altre origini, ad esempio proprietà del controllo, campi modulo, cookie, dati del profilo di ASP.NET o stato della sessione. È anche possibile usare un oggetto parametro definito nel markup per passare un valore hardcoded al metodo select. Per altre informazioni sulle classi di parametri disponibili, vedere Using Parameters with Data Source Controls for Filtering.For more information about parameter classes that are available, see Using Parameters with Data Source Controls for Filtering.

Per eseguire questo esempio, è necessario quanto segue:

  • Sito Web con una stringa di connessione denominata NorthwindConnection che si connette al database Northwind Traders. Per altre informazioni, vedere la panoramica della ObjectDataSource classe.

  • Classe EmployeeLogic visualizzata come uno degli esempi di codice per la panoramica della ObjectDataSource classe. Il file di classe deve trovarsi nella cartella App_Code.

  • Il codice di esempio può essere eseguito come pagina .aspx. Se si richiede la pagina senza un parametro di stringa di query, viene visualizzato un messaggio di errore. Se si richiede la pagina usando una stringa di query, ad ?empid=1 esempio dopo il nome del file di .aspx, verranno visualizzati i dettagli per il dipendente richiesto.

<%@ 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" runat="server">

        <asp:detailsview
          id="DetailsView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:detailsview>

<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetEmployee"
          typename="Samples.AspNet.CS.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

    </form>
  </body>
</html>
<%@ 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 - VB Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:detailsview
          id="DetailsView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:detailsview>

<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetEmployee"
          typename="Samples.AspNet.VB.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

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

Commenti

La SelectParameters proprietà ottiene la SelectParameters proprietà dell'oggetto ObjectDataSourceView associato al ObjectDataSource controllo .

È possibile aggiungere parametri alla SelectParameters raccolta in modo dichiarativo usando l'elemento SelectParameters o a livello di codice nel gestore per l'evento Selecting . In fase di esecuzione, i parametri elencati nell'elemento SelectParameters vengono aggiunti prima alla raccolta. I parametri nella raccolta vengono quindi aggiunti o rimossi dal gestore per l'evento Selecting . L'evento Selecting viene generato prima dell'esecuzione del Select metodo.

Prima dell'esecuzione del Select metodo, i nomi e i tipi dei parametri contenuti nell'insieme SelectParameters devono corrispondere alla firma del metodo specificato dalla SelectMethod proprietà . Ad esempio, se un metodo select denominato GetEmployeesByStateAndAge accetta un string e un numero intero come parametri, la SelectParameters raccolta deve contenere due parametri. Il primo parametro deve essere risolto in una stringa e il secondo parametro deve essere risolto in un numero intero. Entrambi i parametri possono essere specificati nel markup nell'elemento SelectParameters . In alternativa, possono essere aggiunti nel Selecting gestore eventi oppure è possibile aggiungere un parametro nel markup e l'altro può essere aggiunto a livello di codice.

Per altre informazioni, vedere Uso di parametri con il controllo ObjectDataSource e la SelectMethod proprietà .

Importante

Nel codice per il Selecting gestore eventi o nel metodo specificato dalla SelectMethod proprietà assicurarsi di convalidare qualsiasi valore del parametro ricevuto dal client.

Si applica a

Vedi anche