SqlDataSource.SelectParameters Proprietà

Definizione

Ottiene l'insieme di parametri che contiene i parametri utilizzati dalla proprietà SelectCommand dall'oggetto SqlDataSourceView associato al controllo SqlDataSource.

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à

Oggetto ParameterCollection contenente i parametri utilizzati dalla proprietà SelectCommand.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare dati dal database Northwind in Microsoft SQL Server impostando la SelectCommand proprietà su una query SQL. La query SQL viene parametrizzata e il segnaposto nella SelectCommand proprietà viene corrispondente all'oggetto ControlParameter aggiunto alla SelectParameters raccolta. Il DropDownList controllo, a cui è ControlParameter associato, funge da filtro per ciò che viene visualizzato nel ListBox controllo.

Per informazioni su altri tipi di parametri che è possibile usare, vedere la panoramica della Parameter classe.

Nota

Poiché il parametro viene usato in una clausola WHERE, l'uso della proprietà nell'esempio di codice è funzionalmente equivalente all'uso delle SelectParametersFilterExpression proprietà e FilterParameters .

<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">Sales Representative</asp:listitem>
          <asp:listitem>Sales Manager</asp:listitem>
          <asp:listitem>Vice President, Sales</asp:listitem>
      </asp:dropdownlist></p>

      <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
          <selectparameters>
              <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
          </selectparameters>
      </asp:sqldatasource>

      <p><asp:listbox
          id="ListBox1"
          runat="server"
          datasourceid="SqlDataSource1"
          datatextfield="LastName">
      </asp:listbox></p>

    </form>
  </body>
</html>
<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">Sales Representative</asp:listitem>
          <asp:listitem>Sales Manager</asp:listitem>
          <asp:listitem>Vice President, Sales</asp:listitem>
      </asp:dropdownlist></p>

      <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
          <selectparameters>
              <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
          </selectparameters>
      </asp:sqldatasource>

      <p><asp:listbox
          id="ListBox1"
          runat="server"
          datasourceid="SqlDataSource1"
          datatextfield="LastName">
      </asp:listbox></p>

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

Commenti

Se la proprietà contiene una query SQL con parametri, l'insieme SelectCommandSelectParameters contiene eventuali Parameter oggetti che corrispondono ai segnaposto dei parametri nella stringa SQL.

A seconda del provider di ADO.NET, l'ordine dei parametri nella SelectParameters raccolta potrebbe essere importante. I System.Data.OleDb provider e System.Data.Odbc associano i parametri nella raccolta in base all'ordine in cui i parametri vengono visualizzati nella query SQL con parametri. Il System.Data.SqlClient provider, che è il provider di ADO.NET predefinito per il SqlDataSource controllo, associa i parametri nella raccolta associando il nome del parametro a un alias segnaposto nella query SQL. Per altre informazioni sulle query e i comandi SQL con parametri, vedere Uso di parametri con il controllo SqlDataSource.

La SelectParameters proprietà recupera la SelectParameters proprietà contenuta dall'oggetto SqlDataSourceView associato al SqlDataSource controllo.

Importante

I valori vengono inseriti nei parametri senza convalida, ovvero una potenziale minaccia di sicurezza. Usare l'evento Selecting per convalidare i valori dei parametri prima di eseguire la query. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.

Si applica a

Vedi anche