ObjectDataSource.SelectParameters Eigenschaft

Definition

Ruft eine Auflistung mit den Parametern ab, die von der mit der SelectMethod-Eigenschaft angegebenen Methode verwendet werden.

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

Eigenschaftswert

Eine Auflistung mit den Parametern, die von der mit der SelectMethod-Eigenschaft angegebenen Methode verwendet werden.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein einzelner Datensatz mithilfe eines Steuerelements ObjectDataSource abgerufen und in einem DetailsView Steuerelement angezeigt wird. Das ObjectDataSource Steuerelement ruft einen bestimmten Mitarbeiterdatensatz ab, indem es die GetEmployee -Methode der EmployeeLogic -Klasse aufruft. Für GetEmployee die Methode ist ein Mitarbeiter-ID-Parameter erforderlich. Das ObjectDataSource Steuerelement verwendet ein QueryStringParameter -Element im Markup, um ein QueryStringParameter -Objekt zu erstellen, das den Wert eines angegebenen Abfragezeichenfolgenparameters aus der URL abruft und an die GetEmployee -Methode übergibt.

Andere Parameterklassen können verwendet werden, um Werte aus anderen Quellen abzurufen, z. B. Steuerelementeigenschaften, Formularfelder, Cookies, ASP.NET Profildaten oder Sitzungsstatus. Sie können auch ein im Markup definiertes Parameterobjekt verwenden, um einen hartcodierten Wert an die select-Methode zu übergeben. Weitere Informationen zu verfügbaren Parameterklassen finden Sie unter Verwenden von Parametern mit Datenquellensteuerelementen für die Filterung.

Zum Ausführen dieses Beispiels benötigen Sie Folgendes:

  • Eine Website mit einer Verbindungszeichenfolge namens NorthwindConnection , die eine Verbindung mit der Northwind Traders-Datenbank herstellt. Weitere Informationen finden Sie in der ObjectDataSource Klassenübersicht.

  • Die EmployeeLogic Klasse, die als eines der Codebeispiele für die ObjectDataSource Klassenübersicht angezeigt wird. Die Klassendatei muss sich im Ordner App_Code befinden.

  • Der Beispielcode kann als .aspx Seite ausgeführt werden. Wenn Sie die Seite ohne Abfragezeichenfolgenparameter anfordern, wird eine Fehlermeldung angezeigt. Wenn Sie die Seite mithilfe einer Abfragezeichenfolge anfordern, z ?empid=1 . B. nach dem Namen der .aspx-Datei, werden die Details für den angeforderten Mitarbeiter angezeigt.

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

Hinweise

Die SelectParameters -Eigenschaft ruft die SelectParameters -Eigenschaft des ObjectDataSourceView -Objekts ab, das dem ObjectDataSource Steuerelement zugeordnet ist.

Sie fügen der SelectParameters Auflistung parameter deklarativ hinzu, indem Sie das SelectParameters -Element oder programmgesteuert im Handler für das Selecting -Ereignis verwenden. Zur Laufzeit werden die SelectParameters im -Element aufgeführten Parameter zuerst der Auflistung hinzugefügt. Parameter in der Auflistung werden dann vom Handler für das Selecting Ereignis hinzugefügt oder entfernt. Das Selecting Ereignis wird ausgelöst, bevor die Select -Methode ausgeführt wird.

Bevor die Select Methode ausgeführt wird, müssen die Namen und Typen der Parameter, die in der SelectParameters Auflistung enthalten sind, mit der Signatur der Methode übereinstimmen, die von der SelectMethod -Eigenschaft angegeben wird. Wenn beispielsweise eine select-Methode mit dem Namen GetEmployeesByStateAndAge eine string und eine ganze Zahl als Parameter akzeptiert, muss die SelectParameters Auflistung zwei Parameter enthalten. Der erste Parameter muss in eine Zeichenfolge aufgelöst werden, und der zweite Parameter muss in eine ganze Zahl aufgelöst werden. Beide Parameter können im -Element im SelectParameters Markup angegeben werden. Alternativ können sie im Selecting Ereignishandler hinzugefügt werden, oder ein Parameter kann im Markup hinzugefügt und der andere parameter programmgesteuert hinzugefügt werden.

Weitere Informationen finden Sie unter Verwenden von Parametern mit dem ObjectDataSource-Steuerelement und der SelectMethod -Eigenschaft.

Wichtig

Stellen Sie im Code für den Selecting Ereignishandler oder in der Methode, die durch die SelectMethod -Eigenschaft angegeben wird, sicher, dass Sie jeden Parameterwert überprüfen, der vom Client empfangen wird.

Gilt für:

Weitere Informationen