ObjectDataSource.SelectParameters Propriété

Définition

Obtient une collection des paramètres utilisés par la méthode spécifiée par la propriété SelectMethod.

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

Valeur de propriété

Collection des paramètres utilisés par la méthode spécifiée par la propriété SelectMethod.

Attributs

Exemples

L’exemple de code suivant montre comment récupérer un enregistrement de données unique à l’aide d’un ObjectDataSource contrôle et l’afficher dans un DetailsView contrôle. Le ObjectDataSource contrôle récupère un enregistrement d’employé spécifique en appelant la GetEmployee méthode de la EmployeeLogic classe . La GetEmployee méthode nécessite un paramètre d’ID d’employé. Le ObjectDataSource contrôle utilise un QueryStringParameter élément dans le balisage pour créer un QueryStringParameter objet qui récupère la valeur d’un paramètre de chaîne de requête spécifié à partir de l’URL et le transmet à la GetEmployee méthode.

D’autres classes de paramètres peuvent être utilisées pour récupérer des valeurs d’autres sources, telles que les propriétés de contrôle, les champs de formulaire, les cookies, les données de profil ASP.NET ou l’état de session. Vous pouvez également utiliser un objet de paramètre défini dans le balisage afin de passer une valeur codée en dur à la méthode select. Pour plus d’informations sur les classes de paramètres disponibles, consultez Utilisation de paramètres avec des contrôles de source de données pour le filtrage.

Pour exécuter cet exemple, vous aurez besoin des éléments suivants :

  • Site web qui a une chaîne de connexion nommée NorthwindConnection qui se connecte à la base de données Northwind Traders. Pour plus d’informations, consultez vue d’ensemble de la ObjectDataSource classe.

  • Classe EmployeeLogic qui s’affiche comme l’un des exemples de code pour la vue d’ensemble de la ObjectDataSource classe. Le fichier de classe doit se trouver dans le dossier App_Code.

  • L’exemple de code peut être exécuté en tant que page .aspx. Si vous demandez la page sans paramètre de chaîne de requête, un message d’erreur s’affiche. Si vous demandez la page à l’aide d’une chaîne de requête telle qu’après ?empid=1 le nom du fichier .aspx, vous verrez les détails de l’employé demandé.

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

Remarques

La SelectParameters propriété obtient la SelectParameters propriété de l’objet ObjectDataSourceView associé au ObjectDataSource contrôle.

Vous ajoutez des paramètres à la SelectParameters collection de manière déclarative à l’aide de l’élément SelectParameters ou par programmation dans le gestionnaire de l’événement Selecting . Au moment de l’exécution, les paramètres répertoriés dans l’élément SelectParameters sont d’abord ajoutés à la collection. Les paramètres de la collection sont ensuite ajoutés ou supprimés par le gestionnaire de l’événement Selecting . L’événement Selecting est déclenché avant l’exécution de la Select méthode.

Avant l’exécution de la Select méthode, les noms et les types des paramètres contenus dans la SelectParameters collection doivent correspondre à la signature de la méthode spécifiée par la SelectMethod propriété . Par exemple, si une méthode select nommée GetEmployeesByStateAndAge prend un string et un entier comme paramètres, la SelectParameters collection doit contenir deux paramètres. Le premier paramètre doit être résolu en chaîne et le deuxième en entier. Les deux paramètres peuvent être spécifiés dans le balisage dans l’élément SelectParameters . Vous pouvez également les ajouter dans le gestionnaire d’événements, ou ajouter un paramètre dans le Selecting balisage et l’autre par programmation.

Pour plus d’informations, consultez Utilisation de paramètres avec le contrôle ObjectDataSource et la SelectMethod propriété .

Important

Dans le code du Selecting gestionnaire d’événements ou dans la méthode spécifiée par la SelectMethod propriété, veillez à valider toute valeur de paramètre reçue du client.

S’applique à

Voir aussi