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 elemento nel markup per creare un QueryStringParameter oggetto che recupera il valore di un QueryStringParameter parametro query-string specificato dall'URL GetEmployee e passarlo al metodo.

Altre classi di parametri possono essere usate per recuperare i valori da altre origini, ad esempio proprietà del controllo, campi di modulo, cookie, ASP.NET dati del profilo o stato 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 Uso di parametri con controlli origine dati per il filtro.

Per eseguire questo esempio, sarà necessario quanto segue:

  • Sito Web con una stringa di connessione denominata NorthwindConnection che si connette al database Northwind Traders. Per altre informazioni, vedere 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.

Aggiungere parametri alla SelectParameters raccolta dichiarativamente 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 nella SelectParameters raccolta devono corrispondere alla firma del metodo specificato dalla SelectMethod proprietà . Ad esempio, se un metodo select denominato GetEmployeesByStateAndAge accetta un string valore 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 intero. Entrambi i parametri possono essere specificati nel markup nell'elemento SelectParameters . In alternativa, possono essere aggiunti nel gestore eventi oppure un parametro può essere aggiunto nel Selecting 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 di parametro ricevuto dal client.

Si applica a

Vedi anche