Udostępnij za pośrednictwem


ObjectDataSource.SelectParameters Właściwość

Definicja

Pobiera kolekcję parametrów, które są używane przez metodę SelectMethod określoną przez właściwość.

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

Wartość właściwości

Kolekcja parametrów używanych przez metodę SelectMethod określoną przez właściwość.

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak pobrać pojedynczy rekord danych przy użyciu kontrolki ObjectDataSource i wyświetlić go w kontrolce DetailsView . Kontrolka ObjectDataSource pobiera określony rekord pracownika przez wywołanie GetEmployee metody EmployeeLogic klasy. Metoda GetEmployee wymaga parametru identyfikatora pracownika. Kontrolka ObjectDataSource używa QueryStringParameter elementu w znaczniku, aby utworzyć QueryStringParameter obiekt, który pobierze wartość określonego parametru ciągu zapytania z adresu URL i przekaże go do GetEmployee metody.

Inne klasy parametrów mogą służyć do pobierania wartości z innych źródeł, takich jak właściwości kontrolki, pola formularza, pliki cookie, ASP.NET dane profilu lub stan sesji. Można również użyć obiektu parametru, który jest zdefiniowany w adiustacji, aby przekazać trwale zakodowaną wartość do metody select. Aby uzyskać więcej informacji na temat dostępnych klas parametrów, zobacz Using Parameters with Data Source Controls for Filtering (Używanie parametrów z kontrolkami źródła danych do filtrowania).

Aby uruchomić ten przykład, potrzebne są następujące elementy:

  • Witryna sieci Web zawierająca parametry połączenia o nazwie NorthwindConnection łączącej się z bazą danych Northwind Traders. Aby uzyskać więcej informacji, zobacz ObjectDataSource omówienie klasy.

  • Klasa EmployeeLogic , która jest wyświetlana jako jeden z przykładów kodu dla ObjectDataSource przeglądu klasy. Plik klasy musi znajdować się w folderze App_Code.

  • Przykładowy kod można uruchomić jako stronę .aspx. Jeśli żądasz strony bez parametru ciągu zapytania, zostanie wyświetlony komunikat o błędzie. Jeśli żądasz strony przy użyciu ciągu zapytania, takiego jak ?empid=1 po nazwie pliku .aspx, zobaczysz szczegóły żądanego pracownika.

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

Uwagi

Właściwość SelectParameters pobiera SelectParameters właściwość ObjectDataSourceView obiektu skojarzonego z kontrolką ObjectDataSource .

Parametry do SelectParameters kolekcji są dodawane deklaratywnie przy użyciu SelectParameters elementu lub programowo w programie obsługi zdarzenia Selecting . W czasie wykonywania parametry wymienione w SelectParameters elemecie są najpierw dodawane do kolekcji. Parametry w kolekcji są następnie dodawane lub usuwane przez program obsługi zdarzenia Selecting . Zdarzenie Selecting jest wywoływane przed uruchomieniem Select metody.

Przed uruchomieniem Select metody nazwy i typy parametrów zawartych w SelectParameters kolekcji muszą być zgodne z podpisem metody określonej przez SelectMethod właściwość . Jeśli na przykład wybrana metoda o nazwie GetEmployeesByStateAndAge przyjmuje string i liczbę całkowitą jako parametry, SelectParameters kolekcja musi zawierać dwa parametry. Pierwszy parametr musi zostać rozpoznany jako ciąg, a drugi parametr musi zostać rozpoznany jako liczba całkowita. Oba parametry można określić w znacznikach w elemecie SelectParameters . Alternatywnie można je dodać w procedurze Selecting obsługi zdarzeń lub dodać jeden parametr w adiustacji, a drugi można dodać programowo.

Aby uzyskać więcej informacji, zobacz Using Parameters with the ObjectDataSource Control and the property (Używanie parametrów za pomocą kontrolkiSelectMethod ObjectDataSource) i właściwości .

Ważne

W kodzie Selecting programu obsługi zdarzeń lub w metodzie określonej przez SelectMethod właściwość upewnij się, że sprawdzasz poprawność dowolnej wartości parametru otrzymanej od klienta.

Dotyczy

Zobacz też