Partager via


ParameterCollection Classe

Définition

Représente une collection d’objets dérivés de Parameter et Parameter qui sont utilisés par les contrôles de source de données dans les scénarios de liaison de données avancés.

public ref class ParameterCollection : System::Web::UI::StateManagedCollection
public class ParameterCollection : System.Web.UI.StateManagedCollection
type ParameterCollection = class
    inherit StateManagedCollection
Public Class ParameterCollection
Inherits StateManagedCollection
Héritage
ParameterCollection

Exemples

L’exemple de code suivant montre comment utiliser un AccessDataSource contrôle et un FormParameter pour afficher des informations à partir d’une base de données Microsoft Access dans un GridView contrôle. L’objet FormParameter est ajouté à la collection à l’aide SelectParameters de la Add méthode .

Important

Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

void Page_Load(Object sender, EventArgs e){

  // You can add a FormParameter to the AccessDataSource control's
  // SelectParameters collection programmatically.
  AccessDataSource1.SelectParameters.Clear();

  // Security Note: The AccessDataSource uses a FormParameter,
  // Security Note: which does not perform validation of input from the client.
  // Security Note: To validate the value of the FormParameter,
  // Security Note: handle the Selecting event.

  FormParameter formParam = new FormParameter("lastname","LastNameBox");
  formParam.Type=TypeCode.String;
  AccessDataSource1.SelectParameters.Add(formParam);
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataSet"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
                         FROM Orders WHERE EmployeeID =
                         (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
      </asp:accessdatasource>

      <br />Enter the name "Davolio" or "King" in the text box and click the button.

      <br />
      <asp:textbox
        id="LastNameBox"
        runat="server" />

      <br />
      <asp:button
        id="Button1"
        runat="server"
        text="Get Records" />

      <br />
      <asp:gridview
          id="GridView1"
          runat="server"
          allowsorting="True"
          datasourceid="AccessDataSource1">
      </asp:gridview>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

Private Sub Page_Load(sender As Object, e As EventArgs)

  ' You can add a FormParameter to the AccessDataSource control's
  ' SelectParameters collection programmatically.
  AccessDataSource1.SelectParameters.Clear()

  ' Security Note: The AccessDataSource uses a FormParameter,
  ' Security Note: which does not perform validation of input from the client.
  ' Security Note: To validate the value of the FormParameter,
  ' Security Note: handle the Selecting event.

  Dim formParam As New FormParameter("lastname","LastNameBox")
  formParam.Type=TypeCode.String
  AccessDataSource1.SelectParameters.Add(formParam)
End Sub ' Page_Load

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataSet"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
                         FROM Orders WHERE EmployeeID =
                         (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
      </asp:accessdatasource>

      <br />Enter the name "Davolio" or "King" in the text box and click the button.

      <br />
      <asp:textbox
        id="LastNameBox"
        runat="server" />

      <br />
      <asp:button
        id="Button1"
        runat="server"
        text="Get Records" />

      <br />
      <asp:gridview
          id="GridView1"
          runat="server"
          allowsorting="True"
          datasourceid="AccessDataSource1">
      </asp:gridview>

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

Remarques

La ParameterCollection classe représente une collection d’objets utilisés dans des Parameter scénarios de liaison de données avancés avec des contrôles de source de données. Les Parameter objets sont utilisés pour lier les valeurs contenues par les variables locales Page , les cookies HTTP, les variables de session et d’autres contrôles aux contrôles de source de données lors de la récupération, de la mise à jour, de la suppression et de l’insertion de données.

Utilisez la ParameterCollection classe pour gérer par programmation un ensemble d’objets Parameter . Vous pouvez ajouter, insérer et supprimer Parameter des objets à l’aide des méthodes appropriées de la ParameterCollection classe . Pour récupérer Parameter des objets d’une collection par programmation, utilisez l’une des méthodes suivantes :

  • Utilisez l’indexeur pour obtenir un seul Parameter objet de la collection, par nom ou à l’aide de la notation de tableau.

  • Utilisez la GetEnumerator méthode pour créer un System.Collections.IEnumeratorobjet implémenté, qui peut ensuite être utilisé pour obtenir des éléments de la collection.

La Count propriété spécifie le nombre total d’éléments dans la collection et est utilisée pour déterminer la limite supérieure de la collection. Vous pouvez ajouter et supprimer des éléments de la collection à l’aide des Addméthodes , Insert, Removeet RemoveAt .

Selon l’implémentation et la sémantique d’un contrôle de source de données particulier, l’ordre dans lequel les paramètres sont stockés dans la ParameterCollection collection peut être important. Par exemple, lorsque vous utilisez le SqlDataSource contrôle en tant que source de données ODBC, l’ordre des Parameter objets dans la ParameterCollection collection doit être le même que celui des paramètres dans les requêtes SQL paramétrables que vous utilisez. Toutefois, lors de l’utilisation du SqlDataSource contrôle avec Microsoft SQL Server, l’ordre des objets n’est Parameter pas important.

Important

Lorsque vous utilisez des contrôles de source de données, les valeurs sont insérées dans les paramètres de commande sans validation, ce qui constitue une menace de sécurité potentielle. Utilisez un événement dans le contrôle de source de données pour valider les valeurs des paramètres avant l’exécution de la commande. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.

Le tableau suivant répertorie les différentes classes de paramètres et la façon dont elles sont utilisées.

Classe Parameter Description
Parameter Classe de paramètre de base. Utilisez-le pour établir une liaison à une variable locale ou à une chaîne statique à l’aide de la DefaultValue propriété .
ControlParameter Paramètre qui peut être utilisé pour lier à la valeur de retour de propriété ou de méthode d’un contrôle.
CookieParameter Paramètre qui peut être utilisé pour lier à la valeur d’un cookie.
FormParameter Paramètre qui peut être utilisé pour établir une liaison à un attribut de la page Web Forms actuelle.
QueryStringParameter Paramètre qui peut être utilisé pour lier à une valeur passée à une page Web Forms sur une chaîne de requête.
SessionParameter Paramètre qui peut être utilisé pour établir une liaison à la valeur d’une variable de session.
ProfileParameter Paramètre qui peut être utilisé pour établir une liaison à la valeur d’une propriété profile ASP.NET.

Constructeurs

ParameterCollection()

Initialise la classe pour qu'elle soit utilisée par une instance de la classe héritée. Ce constructeur peut être appelé uniquement par une classe héritée.

Propriétés

Count

Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
Item[Int32]

Obtient ou définit l'objet Parameter à l'index spécifié dans la collection.

Item[String]

Obtient ou définit l'objet Parameter portant le nom spécifié dans la collection.

Méthodes

Add(Parameter)

Ajoute l'objet Parameter spécifié à la fin de la collection.

Add(String, DbType, String)

Crée un objet Parameter avec le nom, le type de base de données et la valeur par défaut spécifiés, puis l'ajoute à la fin de la collection.

Add(String, String)

Crée un objet Parameter avec le nom spécifié et la valeur par défaut et l'ajoute à la fin de la collection.

Add(String, TypeCode, String)

Crée un objet Parameter avec le nom spécifié, TypeCode et la valeur par défaut et l'ajoute à la fin de la collection.

Clear()

Supprime tous les éléments de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
Contains(Parameter)

Détermine si la collection ParameterCollection contient une valeur spécifique.

CopyTo(Array, Int32)

Copie les éléments de la collection StateManagedCollection dans un tableau, en commençant au niveau d'un index de tableau particulier.

(Hérité de StateManagedCollection)
CopyTo(Parameter[], Int32)

Copie l'index spécifié d'un tableau de paramètres dans la collection de paramètres.

CreateKnownType(Int32)

Crée une instance d'un objet Parameter par défaut.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetKnownTypes()

Obtient un tableau des types Parameter que la collection ParameterCollection peut contenir.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetValues(HttpContext, Control)

Obtient une collection triée de noms d'objets Parameter et leurs valeurs correspondantes actuellement contenus dans la collection.

IndexOf(Parameter)

Détermine l'index d'un objet Parameter spécifié dans la collection ParameterCollection.

Insert(Int32, Parameter)

Insère l'objet Parameter spécifié dans la collection ParameterCollection à l'index spécifié.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnClear()

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode Clear() supprime tous les éléments de la collection.

(Hérité de StateManagedCollection)
OnClearComplete()

Exécute des processus personnalisés supplémentaires après l'effacement du contenu de la collection.

OnInsert(Int32, Object)

Se produit avant que la méthode Insert(Int32, Parameter) soit appelée.

OnInsertComplete(Int32, Object)

Se produit après que la méthode Insert(Int32, Parameter) est terminée.

OnParametersChanged(EventArgs)

Déclenche l’événement ParametersChanged.

OnRemove(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode IList.Remove(Object) ou IList.RemoveAt(Int32) supprime l'élément spécifié de la collection.

(Hérité de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Se produit après que la méthode Remove(Parameter) est terminée.

OnValidate(Object)

Exécute des processus personnalisés supplémentaires lors de la validation d'une valeur.

Remove(Parameter)

Supprime de la collection Parameter l'objet ParameterCollection spécifié.

RemoveAt(Int32)

Supprime l'objet Parameter de la collection ParameterCollection à l'index spécifié.

SetDirty()

Force la sérialisation de l'intégralité de la collection StateManagedCollection dans l'état d'affichage.

(Hérité de StateManagedCollection)
SetDirtyObject(Object)

Marque l'objet Parameter spécifié comme modifié depuis son dernier chargement ou enregistrement à partir de l'état d'affichage.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
UpdateValues(HttpContext, Control)

Itère au sein des objets Parameter contenus dans la collection et appelle la méthode Evaluate sur chacun des objets.

Événements

ParametersChanged

Se produit lorsque l'état d'un ou de plusieurs objets Parameter contenus dans la collection est modifié.

Implémentations d’interfaces explicites

ICollection.Count

Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
ICollection.IsSynchronized

Obtient une valeur indiquant si la collection StateManagedCollection est synchronisée (thread-safe). Cette méthode retourne false dans tous les cas.

(Hérité de StateManagedCollection)
ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l'accès à la collection StateManagedCollection. Cette méthode retourne null dans tous les cas.

(Hérité de StateManagedCollection)
IEnumerable.GetEnumerator()

Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Add(Object)

Ajoute un élément à la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Clear()

Supprime tous les éléments de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Contains(Object)

Détermine si la collection StateManagedCollection contient une valeur spécifique.

(Hérité de StateManagedCollection)
IList.IndexOf(Object)

Détermine l'index d'un élément spécifié de la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.Insert(Int32, Object)

Insère un élément dans la collection StateManagedCollection au niveau de l'index spécifié.

(Hérité de StateManagedCollection)
IList.IsFixedSize

Obtient une valeur indiquant si la collection StateManagedCollection est de taille fixe. Cette méthode retourne false dans tous les cas.

(Hérité de StateManagedCollection)
IList.IsReadOnly

Obtient une valeur indiquant si la collection StateManagedCollection est en lecture seule.

(Hérité de StateManagedCollection)
IList.Item[Int32]

Obtient l’élément IStateManager à l’index spécifié.

(Hérité de StateManagedCollection)
IList.Remove(Object)

Supprime la première occurrence de l'objet spécifié dans la collection StateManagedCollection.

(Hérité de StateManagedCollection)
IList.RemoveAt(Int32)

Supprime l'élément IStateManager au niveau de l'index spécifié.

(Hérité de StateManagedCollection)
IStateManager.IsTrackingViewState

Obtient une valeur indiquant si la collection StateManagedCollection enregistre les modifications apportées à son état d'affichage.

(Hérité de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaure l'état d'affichage précédemment enregistré de la collection StateManagedCollection et les éléments IStateManager qu'elle contient.

(Hérité de StateManagedCollection)
IStateManager.SaveViewState()

Enregistre les modifications apportées à la collection StateManagedCollection et à chaque objet IStateManager qu'elle contient, depuis la publication de la page sur le serveur.

(Hérité de StateManagedCollection)
IStateManager.TrackViewState()

Commande à la collection StateManagedCollection et à chacun des objets IStateManager qu'elle contient de procéder au suivi des modifications apportées à leur état d'affichage afin qu'ils puissent être rendus persistants au fil des requêtes d'une même page.

(Hérité de StateManagedCollection)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi