Condividi tramite


ObjectDataSource.SelectParameters Proprietà

Definizione

Ottiene una raccolta di parametri utilizzati dal metodo specificato dalla SelectMethod proprietà .

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à

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

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, ASP.NET dati del profilo 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.

Per eseguire questo esempio, sono necessari gli elementi seguenti:

  • 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 .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 viene generato prima dell'esecuzione Selecting 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 e un string 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 dei 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 di parametro ricevuto dal client.

Si applica a

Vedi anche