ObjectDataSource.SelectMethod ObjectDataSource.SelectMethod ObjectDataSource.SelectMethod ObjectDataSource.SelectMethod Property

Définition

Obtient ou définit le nom de la méthode ou de la fonction que le contrôle ObjectDataSource appelle pour récupérer des données.Gets or sets the name of the method or function that the ObjectDataSource control invokes to retrieve data.

public:
 property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String

Valeur de propriété

Chaîne qui représente le nom de la méthode ou de la fonction que ObjectDataSource utilise pour récupérer des données.A string that represents the name of the method or function that the ObjectDataSource uses to retrieve data. La valeur par défaut est une chaîne vide ("").The default is an empty string ("").

Exemples

L’exemple de code suivant montre comment GridView un contrôle peut afficher des données ObjectDataSource à l’aide d’un contrôle sur une page de Web Forms.The following code example demonstrates how a GridView control can display data using an ObjectDataSource control on a Web Forms page. Identifie un nom de classe qualifié partiel ou complet avec sa TypeName propriété et une méthode appelée pour récupérer des données avec sa SelectMethod propriété. ObjectDataSourceThe ObjectDataSource identifies a partially or fully qualified class name with its TypeName property and a method that is called to retrieve data with its SelectMethod property. Au moment de l’exécution, l’objet est créé et la méthode est appelée à l’aide de la réflexion.At run time, the object is created and the method is called using reflection. Le GridView contrôle énumère la IEnumerable collection qui est retournée par la méthode spécifiée par la SelectMethod propriété, et affiche les données.The GridView control enumerates through the IEnumerable collection that is returned by the method that is specified by the SelectMethod property, and displays the data.

<%@ 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:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </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 - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>

Remarques

La méthode spécifiée peut avoir n’importe quelle signature de méthode, mais elle doit retourner l’un des types indiqués dans le tableau ObjectDataSource suivant pour que le contrôle l’appelle correctement.The specified method can have any method signature, but it must return one of the types shown in the following table for the ObjectDataSource control to call it successfully.

Type de retourReturn type ActionAction
IEnumerable Est retourné par la Select méthode. IEnumerableThe IEnumerable is returned by the Select method.
DataTable Un DataView est créé à l' DataTable aide du et retourné Select par la méthode.A DataView is created using the DataTable and returned by the Select method.
DataView Une DataView est retournée par Select la méthode.A DataView is returned by the Select method.
DataSet Le premier DataTable DataView du est extrait et un est créé et retourné par la Select méthode. DataSetThe first DataTable of the DataSet is extracted, and a DataView is created and returned by the Select method.
Object L’objet est encapsulé dans une collection à un IEnumerable seul élément et retourné par Select la méthode.The object is wrapped in a one-element IEnumerable collection and returned by the Select method.

La SelectMethod propriété délègue à SelectMethod la propriété de ObjectDataSourceView l’objet associé au ObjectDataSource contrôle.The SelectMethod property delegates to the SelectMethod property of the ObjectDataSourceView object that is associated with the ObjectDataSource control.

Lorsque vous utilisez la ObjectDataSource classe pour supprimer ou mettre à jour des données, assurez-vous que les ObjectDataSource noms de paramètres configurés UpdateParameters pour le contrôle dans la DeleteParameters collection ou la collection correspondent aux noms de colonnes retournés par la méthode Select. .When you use the ObjectDataSource class to delete or update data, make sure that the parameter names configured for the ObjectDataSource control in the DeleteParameters collection or UpdateParameters collection match the column names that are returned by the select method.

Durée de vie des objetsObject Lifetime

La méthode identifiée par la SelectMethod propriété peut être une méthode d’instance ou une static méthode (Shared dans Visual Basic).The method that is identified by the SelectMethod property can be an instance method or a static (Shared in Visual Basic) method. S’il s’agit d’une méthode d’instance, l’objet métier est créé et détruit chaque fois que la méthode spécifiée SelectMethod par la propriété est appelée.If it is an instance method, the business object is created and destroyed each time the method that is specified by the SelectMethod property is called. Vous pouvez gérer les ObjectCreated événements ObjectCreating et pour utiliser l’objet métier avant que la méthode spécifiée par la SelectMethod propriété ne soit appelée.You can handle the ObjectCreated and ObjectCreating events to work with the business object before the method that is specified by the SelectMethod property is called. Vous pouvez également gérer l' ObjectDisposing événement déclenché après l’appel de la méthode spécifiée par la SelectMethod propriété.You can also handle the ObjectDisposing event that is raised after the method that is specified by the SelectMethod property is called. Si l’objet métier implémente l' IDisposable interface, la Dispose méthode est appelée avant la destruction de l’objet.If the business object implements the IDisposable interface, the Dispose method is called before the object is destroyed. Si la méthode est static (Shared en Visual Basic), l’objet métier n’est jamais créé et vous ne pouvez ObjectCreatedpas ObjectCreatinggérer les ObjectDisposing événements, et.If the method is static (Shared in Visual Basic), the business object is never created and you cannot handle the ObjectCreated, ObjectCreating, and ObjectDisposing events.

Fusion de paramètresParameter Merging

Les paramètres sont ajoutés à SelectParameters la collection à partir des sources suivantes:Parameters are added to the SelectParameters collection from these sources:

  • De manière déclarative SelectParameters à partir de l’élément.Declaratively from the SelectParameters element.

  • Par programmation à partir de Selecting la méthode.Programmatically from the Selecting method.

Tout d’abord, les paramètres répertoriés dans l' SelectParameters élément sont ajoutés.First, the parameters listed in the SelectParameters element are added. Deuxièmement, les paramètres sont ajoutés et supprimés par programme dans l' Selecting événement, qui se produit avant Select l’exécution de la méthode.Second, parameters are programmatically added and removed in the Selecting event, which occurs before the Select method is run. La méthode est résolue après la fusion des paramètres.The method is resolved after the parameters are merged. La résolution de méthode est décrite dans la section suivante.Method resolution is discussed in the next section.

Important

Vous devez valider toute valeur de paramètre reçue du client.You should validate any parameter value that you receive from the client. Le runtime remplace simplement la valeur de paramètre dans la SelectMethod propriété.The runtime simply substitutes the parameter value into the SelectMethod property.

Résolution de méthodeMethod Resolution

Lorsque la Select méthode est appelée, les champs de données du contrôle lié aux données, les paramètres qui ont été créés de manière SelectParameters déclarative dans l’élément et les paramètres qui ont été Selecting ajoutés dans le gestionnaire d’événements sont tous fusionnés.When the Select method is called, the data fields from the data-bound control, the parameters that were created declaratively in the SelectParameters element, and the parameters that were added in the Selecting event handler are all merged. (Pour plus d’informations, consultez la section précédente.) Le ObjectDataSource contrôle tente alors de trouver une méthode à appeler.(For more information, see the preceding section.) The ObjectDataSource control then attempts to find a method to call. Tout d’abord, il recherche une ou plusieurs méthodes portant le nom spécifié dans la SelectMethod propriété.First, it looks for one or more methods with the name that is specified in the SelectMethod property. Si aucune correspondance n’est trouvée, InvalidOperationException une exception est levée.If no match is found, an InvalidOperationException exception is thrown. Si une correspondance est trouvée, elle recherche des noms de paramètres correspondants.If a match is found, it then looks for matching parameter names. Par exemple, supposons qu’un type spécifié par la TypeName propriété possède deux méthodes nommées. SelectARecordFor example, suppose a type that is specified by the TypeName property has two methods named SelectARecord. L' SelectARecord un a un paramètre ID,, et l' SelectARecord autre a deux paramètres Name , Numberet.One SelectARecord has one parameter, ID, and the other SelectARecord has two parameters, Name and Number. Si la SelectParameters collection n’a qu’un seul IDparamètre nommé SelectARecord , la méthode avec ID uniquement le paramètre est appelée.If the SelectParameters collection has only one parameter named ID, the SelectARecord method with just the ID parameter is called. Le type du paramètre n’est pas vérifié pour la résolution des méthodes.The type of the parameter is not checked in resolving the methods. L’ordre des paramètres n’a pas d’importance.The order of the parameters does not matter.

Si la DataObjectTypeName propriété est définie, la méthode est résolue de manière différente.If the DataObjectTypeName property is set, the method is resolved in a different way. Recherche une méthode dont le nom est spécifié dans la SelectMethod propriété qui accepte un paramètre du type spécifié dans la DataObjectTypeName propriété. ObjectDataSourceThe ObjectDataSource looks for a method with the name that is specified in the SelectMethod property that takes one parameter of the type that is specified in the DataObjectTypeName property. Dans ce cas, le nom du paramètre n’a pas d’importance.In this case, the name of the parameter does not matter.

S’applique à

Voir aussi