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í ovládacího prvku ObjectDataSource a zobrazit jej v ovládacím prvku DetailsView . Ovládací ObjectDataSource prvek načte záznam konkrétního 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á ji GetEmployee metodě .

Jiné třídy parametrů lze použít k načtení hodnot z jiných zdrojů, jako jsou vlastnosti ovládacích prvků, pole formuláře, soubory cookie, ASP.NET data profilu nebo stav relace. Můžete také použít objekt parametru, který je definován ve značkách, aby se pevně zakódovaná hodnota předala metodě select. Další informace o třídách parametrů, které jsou k dispozici, najdete v tématu Použití parametrů s ovládacími prvky zdroje dat pro filtrování.

Pokud chcete spustit tento příklad, 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á je zobrazena 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 si vyžádáte stránku bez parametru řetězce dotazu, zobrazí se chybová zpráva. Pokud o stránku požádáte pomocí řetězce dotazu, například ?empid=1 za názvem souboru .aspx, uvidíte podrobnosti o požadovaném zaměstnanci.

<%@ 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 ovládacímu prvku ObjectDataSource .

Parametry přidáte do SelectParameters kolekce deklarativně pomocí elementu SelectParameters nebo programově v obslužné rutině Selecting události. V době běhu se parametry uvedené v elementu SelectParameters nejprve přidají do kolekce. Obslužná rutina události pak přidá nebo odebere parametry v kolekci Selecting . 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 určené SelectMethod vlastností . Pokud například metoda select s názvem GetEmployeesByStateAndAge přebírá string jako parametry a celé číslo, SelectParameters kolekce musí obsahovat dva parametry. První parametr se musí přeložit na řetězec a druhý parametr na celé číslo. Oba parametry lze zadat v kódu v elementu SelectParameters . Alternativně je možné je přidat do obslužné Selecting rutiny události nebo jeden parametr lze přidat do kódu kódu a druhý přidat programově.

Další informace najdete v tématu Použití parametrů s ovládacím prvku ObjectDataSource a SelectMethod vlastností .

Důležité

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

Platí pro

Viz také