ObjectDataSource.SelectParameters Egenskap

Definition

Hämtar en samling parametrar som används av den metod som anges av SelectMethod egenskapen.

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

Egenskapsvärde

En samling parametrar som används av den metod som anges av SelectMethod egenskapen.

Attribut

Exempel

I följande kodexempel visas hur du hämtar en enskild datapost med hjälp av en ObjectDataSource kontroll och visar den i en DetailsView kontroll. Kontrollen ObjectDataSource hämtar en specifik medarbetares post genom att anropa GetEmployee -metoden för EmployeeLogic klassen. Metoden GetEmployee kräver en parameter för medarbetar-ID. Kontrollen ObjectDataSource använder ett QueryStringParameter element i markering för att skapa ett QueryStringParameter objekt som hämtar värdet för en angiven frågesträngsparameter från URL:en och skickar det till GetEmployee metoden.

Andra parameterklasser kan användas för att hämta värden från andra källor, till exempel kontrollegenskaper, formulärfält, cookies, ASP.NET profildata eller sessionstillstånd. Du kan också använda ett parameterobjekt som definieras i markering för att skicka ett hårdkodat värde till select-metoden. Mer information om tillgängliga parameterklasser finns i Använda parametrar med datakällans kontroller för filtrering.

Om du vill köra det här exemplet behöver du följande:

  • En webbplats som har en reťazec pripojenia med namnet NorthwindConnection som ansluter till Northwind Traders-databasen. Mer information finns i klassöversikten ObjectDataSource .

  • Klassen EmployeeLogic som visas som ett av kodexemplen för klassöversikten ObjectDataSource . Klassfilen måste finnas i mappen App_Code.

  • Exempelkoden kan köras som en .aspx sida. Om du begär sidan utan en frågesträngsparameter visas ett felmeddelande. Om du begär sidan med hjälp av en frågesträng, till exempel ?empid=1 efter namnet på den .aspx filen, visas information om den begärda medarbetaren.

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

Kommentarer

Egenskapen SelectParameters hämtar egenskapen för SelectParameters objektet ObjectDataSourceView som är associerat med ObjectDataSource kontrollen.

Du lägger till parametrar i SelectParameters samlingen deklarativt med hjälp av elementet SelectParameters eller programmatiskt i hanteraren för Selecting händelsen. Vid körning läggs parametrar som anges i elementet SelectParameters till i samlingen först. Parametrar i samlingen läggs sedan till eller tas bort av hanteraren för Selecting händelsen. Händelsen Selecting utlöses innan Select metoden körs.

Select Innan metoden körs måste namnen och typerna av parametrarna som finns i SelectParameters samlingen matcha signaturen för den metod som anges av SelectMethod egenskapen. Om till exempel en select-metod med namnet GetEmployeesByStateAndAge tar ett string heltal och ett heltal som parametrar SelectParameters måste samlingen innehålla två parametrar. Den första parametern måste matchas mot en sträng och den andra parametern måste matchas mot ett heltal. Båda parametrarna kan anges i markering i elementet SelectParameters . Alternativt kan de läggas till i Selecting händelsehanteraren, eller så kan en parameter läggas till i markering och den andra kan läggas till programmatiskt.

Mer information finns i Använda parametrar med ObjectDataSource-kontrollen och SelectMethod egenskapen .

Important

I koden för Selecting händelsehanteraren eller i den metod som anges av SelectMethod egenskapen kontrollerar du att du verifierar alla parametervärden som tas emot från klienten.

Gäller för

Se även