Sdílet prostřednictvím


ObjectDataSource.SelectParameters Vlastnost

Definice

Získá kolekci parametrů, které jsou používány metodou určenou SelectMethod vlastností.

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

Hodnota vlastnosti

Kolekce parametrů, které jsou používány metodou určenou SelectMethod vlastností.

Atributy

Příklady

Následující příklad kódu ukazuje, jak načíst jeden datový záznam pomocí ObjectDataSource ovládacího prvku a zobrazit ho v ovládacím DetailsView prvku. Ovládací ObjectDataSource prvek načte konkrétní záznam zaměstnance voláním GetEmployee metody EmployeeLogic třídy. Metoda GetEmployee vyžaduje parametr ID zaměstnance. Ovládací ObjectDataSource prvek používá QueryStringParameter prvek v kódu k vytvoření objektu QueryStringParameter , který načte hodnotu zadaného parametru řetězce dotazu z adresy URL a předá ho GetEmployee metodě.

Jiné třídy parametrů lze použít k načtení hodnot z jiných zdrojů, jako jsou vlastnosti ovládacího prvku, pole formuláře, soubory cookie, ASP.NET profilová data nebo stav relace. K předání pevně zakódované hodnoty do metody select můžete použít také objekt parametru, který je definován v kódu. Další informace o dostupných třídách parametrů naleznete v tématu Použití parametrů s ovládacími prvky zdroje dat pro filtrování.

Ke spuštění tohoto příkladu budete potřebovat následující:

  • Web, který má připojovací řetězec s názvem NorthwindConnection , který se připojuje k databázi Northwind Traders. Další informace najdete v přehledu ObjectDataSource třídy.

  • Třída EmployeeLogic , která se zobrazí jako jeden z příkladů kódu pro ObjectDataSource přehled třídy. Soubor třídy musí být umístěn ve složce App_Code.

  • Vzorový kód lze spustit jako .aspx stránku. Pokud požádáte o stránku bez parametru řetězce dotazu, zobrazí se chybová zpráva. Pokud požádáte o stránku pomocí řetězce dotazu, například ?empid=1 za názvem souboru .aspx, zobrazí se podrobnosti požadovaného zaměstnance.

<%@ 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>

Poznámky

Vlastnost SelectParameters získá SelectParameters vlastnost objektu ObjectDataSourceView , který je přidružen k ObjectDataSource ovládacího prvku.

Parametry do SelectParameters kolekce přidáte deklarativním použitím elementu SelectParameters nebo programově v obslužné rutině Selecting události. V době běhu se parametry uvedené v elementu SelectParameters přidají nejprve do kolekce. Parametry v kolekci se pak přidají nebo odeberou obslužnou rutinou Selecting události. Událost Selecting je vyvolána před spuštěním Select metody.

Před spuštěním Select metody musí názvy a typy parametrů obsažených v SelectParameters kolekci odpovídat podpisu metody, která je určena SelectMethod vlastností. Pokud například výběrová metoda s názvem GetEmployeesByStateAndAge vezme string a celé číslo jako parametry, SelectParameters kolekce musí obsahovat dva parametry. První parametr se musí přeložit na řetězec a druhý parametr se musí přeložit na celé číslo. Oba parametry lze zadat v kódu v elementu SelectParameters . Alternativně je možné je přidat do Selecting obslužné rutiny události nebo lze přidat jeden parametr v kódu a druhý lze přidat programově.

Další informace naleznete v tématu Použití parametrů s ObjectDataSource Ovládací prvek a SelectMethod vlastnost.

Důležité

V kódu obslužné Selecting rutiny události nebo v metodě, která je určena SelectMethod vlastností, ujistěte se, že jste ověřili všechny hodnoty parametru přijaté z klienta.

Platí pro

Viz také