ObjectDataSource.SelectParameters Eigenschap

Definitie

Hiermee haalt u een verzameling parameters op die worden gebruikt door de methode die is opgegeven door de SelectMethod eigenschap.

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

Waarde van eigenschap

Een verzameling parameters die worden gebruikt door de methode die is opgegeven door de SelectMethod eigenschap.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u één gegevensrecord ophaalt met behulp van een ObjectDataSource besturingselement en deze weergeeft in een DetailsView besturingselement. Het ObjectDataSource besturingselement haalt een specifieke werknemersrecord op door de GetEmployee methode van de EmployeeLogic klasse aan te roepen. Voor de GetEmployee methode is een parameter werknemer-id vereist. Het ObjectDataSource besturingselement maakt gebruik van een QueryStringParameter element in markeringen om een QueryStringParameter object te maken dat de waarde van een opgegeven queryreeksparameter ophaalt uit de URL en doorgeeft aan de GetEmployee methode.

Andere parameterklassen kunnen worden gebruikt om waarden op te halen uit andere bronnen, zoals besturingseigenschappen, formuliervelden, cookies, ASP.NET profielgegevens of sessiestatus. U kunt ook een parameterobject gebruiken dat is gedefinieerd in markeringen om een in code vastgelegde waarde door te geven aan de selectiemethode. Zie Parameters gebruiken met besturingselementen voor gegevensbronnen voor filteren voor meer informatie over parameterklassen die beschikbaar zijn.

Als u dit voorbeeld wilt uitvoeren, hebt u het volgende nodig:

  • Een website met een verbindingsreeks met de naam NorthwindConnection die verbinding maakt met de Northwind Traders-database. Zie het ObjectDataSource klasoverzicht voor meer informatie.

  • De EmployeeLogic klasse die wordt weergegeven als een van de codevoorbeelden voor het ObjectDataSource klassenoverzicht. Het klassebestand moet zich in de map App_Code bevinden.

  • De voorbeeldcode kan worden uitgevoerd als een .aspx pagina. Als u de pagina aanvraagt zonder een querytekenreeksparameter, wordt er een foutbericht weergegeven. Als u de pagina aanvraagt met behulp van een querytekenreeks, bijvoorbeeld ?empid=1 na de naam van het .aspx-bestand, ziet u de details voor de aangevraagde werknemer.

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

Opmerkingen

De SelectParameters eigenschap haalt de SelectParameters eigenschap op van het ObjectDataSourceView object dat is gekoppeld aan het ObjectDataSource besturingselement.

U voegt parameters declaratief toe aan de SelectParameters verzameling met behulp van het SelectParameters element of programmatisch in de handler voor de Selecting gebeurtenis. Tijdens runtime worden parameters die in het SelectParameters element worden vermeld, eerst toegevoegd aan de verzameling. Parameters in de verzameling worden vervolgens toegevoegd of verwijderd door de handler voor de Selecting gebeurtenis. De Selecting gebeurtenis wordt gegenereerd voordat de Select methode wordt uitgevoerd.

Voordat de Select methode wordt uitgevoerd, moeten de namen en typen van de parameters in de SelectParameters verzameling overeenkomen met de handtekening van de methode die is opgegeven door de SelectMethod eigenschap. Als een select-methode met de naam GetEmployeesByStateAndAge bijvoorbeeld een string en een geheel getal als parameters gebruikt, moet de SelectParameters verzameling twee parameters bevatten. De eerste parameter moet worden omgezet in een tekenreeks en de tweede parameter moet worden omgezet in een geheel getal. Beide parameters kunnen worden opgegeven in markeringen in het SelectParameters element. U kunt ze ook toevoegen in de Selecting gebeurtenishandler of een parameter kan worden toegevoegd in markeringen en de andere parameter kan programmatisch worden toegevoegd.

Zie Parameters gebruiken met het besturingselement ObjectDataSource en de SelectMethod eigenschap voor meer informatie.

Important

Zorg ervoor dat u in de code voor de Selecting gebeurtenis-handler of in de methode die is opgegeven door de SelectMethod eigenschap, een parameterwaarde valideert die van de client wordt ontvangen.

Van toepassing op

Zie ook