Freigeben über


ParameterCollection Klasse

Definition

Stellt eine Auflistung von Parameter und Parameter abgeleiteter Objekte dar, die von Datenquellen-Steuerelementen in erweiterten Datenbindungsszenarien verwendet werden.

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
Vererbung
ParameterCollection

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie ein AccessDataSource Steuerelement und ein FormParameter verwenden, um Informationen aus einer Microsoft Access-Datenbank in einem GridView Steuerelement anzuzeigen. Das FormParameter -Objekt wird der SelectParameters -Auflistung mithilfe der Add -Methode hinzugefügt.

Wichtig

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

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

Hinweise

Die ParameterCollection -Klasse stellt eine Auflistung von Objekten dar, die Parameter in erweiterten Datenbindungsszenarien mit Datenquellensteuerelementen verwendet werden. Die Parameter -Objekte werden verwendet, um die Werte von lokalen Page Variablen, HTTP-Cookies, Sitzungsvariablen und anderen Steuerelementen an Datenquellensteuerelemente zu binden, wenn Daten abgerufen, aktualisiert, gelöscht und eingefügt werden.

Verwenden Sie die ParameterCollection -Klasse, um eine Reihe von Parameter Objekten programmgesteuert zu verwalten. Sie können Objekte mit den entsprechenden Methoden der ParameterCollection -Klasse hinzufügen, einfügen und entfernenParameter. Verwenden Sie eine der folgenden Methoden, um Objekte programmgesteuert aus einer Auflistung abzurufen Parameter :

  • Verwenden Sie den Indexer, um ein einzelnes Parameter Objekt aus der Auflistung abzurufen, indem Sie den Namen oder die Arraynotation verwenden.

  • Verwenden Sie die GetEnumerator -Methode, um ein implementiertes System.Collections.IEnumeratorObjekt zu erstellen, das dann zum Abrufen von Elementen aus der Auflistung verwendet werden kann.

Die Count -Eigenschaft gibt die Gesamtzahl der Elemente in der Auflistung an und wird verwendet, um die Obergrenze der Auflistung zu bestimmen. Sie können elemente hinzufügen und aus der Auflistung entfernen, indem Sie die AddMethoden , Insert, Removeund RemoveAt verwenden.

Abhängig von der Implementierung und der Semantik eines bestimmten Datenquellensteuerelements kann die Reihenfolge, in der die Parameter in der ParameterCollection Auflistung gespeichert werden, wichtig sein. Wenn Sie beispielsweise das SqlDataSource Steuerelement als ODBC-Datenquelle verwenden, muss die Reihenfolge der Parameter Objekte in der ParameterCollection Auflistung mit der Reihenfolge der Parameter in den von Ihnen verwendeten parametrisierten SQL-Abfragen identisch sein. Wenn Sie das SqlDataSource Steuerelement mit Microsoft SQL Server verwenden, ist die Reihenfolge der Parameter Objekte jedoch nicht wichtig.

Wichtig

Wenn Sie Datenquellensteuerelemente verwenden, werden Werte ohne Überprüfung in Befehlsparameter eingefügt, was eine potenzielle Sicherheitsbedrohung darstellt. Verwenden Sie ein Ereignis im Datenquellensteuerelement, um Parameterwerte zu überprüfen, bevor der Befehl ausgeführt wird. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

In der folgenden Tabelle sind die verschiedenen Parameterklassen und deren Verwendung aufgeführt.

Parameterklasse BESCHREIBUNG
Parameter Die Basisparameterklasse. Verwenden Sie sie, um mithilfe der DefaultValue -Eigenschaft eine Bindung an eine lokale Variable oder eine beliebige statische Zeichenfolge zu erstellen.
ControlParameter Ein Parameter, der zum Binden an die Eigenschaft oder den Methodenrückgabewert eines Steuerelements verwendet werden kann.
CookieParameter Ein Parameter, der zum Binden an den Wert eines Cookies verwendet werden kann.
FormParameter Ein Parameter, der zum Binden an ein Attribut der aktuellen Web Forms-Seite verwendet werden kann.
QueryStringParameter Ein Parameter, der zum Binden an einen Wert verwendet werden kann, der an eine Web Forms-Seite in einer Abfragezeichenfolge übergeben wird.
SessionParameter Ein Parameter, der zum Binden an den Wert einer Sitzungsvariablen verwendet werden kann.
ProfileParameter Ein Parameter, der zum Binden an den Wert einer ASP.NET Profile-Eigenschaft verwendet werden kann.

Konstruktoren

ParameterCollection()

Initialisiert die Klasse zur Verwendung durch eine geerbte Klasseninstanz. Dieser Konstruktor kann nur von einer geerbten Klasse aufgerufen werden.

Eigenschaften

Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
Item[Int32]

Ruft das Parameter-Objekt am angegebenen Index in der Auflistung ab oder legt dieses fest.

Item[String]

Ruft das Parameter-Objekt mit dem angegebenen Namen in der Auflistung ab oder legt dieses fest.

Methoden

Add(Parameter)

Fügt das angegebene Parameter-Objekt an das Ende der Auflistung an.

Add(String, DbType, String)

Erstellt ein Parameter-Objekt mit dem angegebenen Namen, Datenbanktyp sowie Standardwert und hängt dieses an das Ende der Auflistung an.

Add(String, String)

Erstellt ein Parameter-Objekt mit dem angegebenen Namen und Standardwert und hängt es an das Ende der Auflistung an.

Add(String, TypeCode, String)

Erstellt ein Parameter-Objekt mit dem angegebenen Namen, TypeCode und Standardwert, und hängt es an das Ende der Auflistung an.

Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
Contains(Parameter)

Ermittelt, ob die ParameterCollection-Auflistung einen bestimmten Wert enthält.

CopyTo(Array, Int32)

Kopiert die Elemente der StateManagedCollection-Auflistung in ein Array, wobei an einem bestimmten Arrayindex begonnen wird.

(Geerbt von StateManagedCollection)
CopyTo(Parameter[], Int32)

Kopiert einen angegebenen Index eines Parameterarrays in die Parameterauflistung.

CreateKnownType(Int32)

Erstellt eine Instanz eines Parameter-Standardobjekts.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetKnownTypes()

Ruft ein Array von Parameter-Typen ab, die die ParameterCollection-Auflistung enthalten kann.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValues(HttpContext, Control)

Ruft eine geordnete Auflistung von Parameter-Objektnamen und ihren entsprechenden Werten ab, die aktuell in der Auflistung enthalten sind.

IndexOf(Parameter)

Bestimmt den Index eines angegebenen Parameter-Objekts in der ParameterCollection-Auflistung.

Insert(Int32, Parameter)

Fügt das angegebene Parameter-Objekt am angegebenen Index in die ParameterCollection-Auflistung ein.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnClear()

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die Clear()-Methode alle Elemente aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnClearComplete()

Führt nach dem Löschen des Inhalts der Auflistung zusätzliche benutzerdefinierte Prozesse aus.

OnInsert(Int32, Object)

Tritt ein, bevor die Insert(Int32, Parameter)-Methode aufgerufen wird.

OnInsertComplete(Int32, Object)

Tritt ein, nachdem die Insert(Int32, Parameter)-Methode abgeschlossen ist.

OnParametersChanged(EventArgs)

Löst das ParametersChanged-Ereignis aus.

OnRemove(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die IList.Remove(Object)-Methode oder die IList.RemoveAt(Int32)-Methode das angegebene Element aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnRemoveComplete(Int32, Object)

Tritt ein, nachdem die Remove(Parameter)-Methode abgeschlossen ist.

OnValidate(Object)

Führt zusätzliche benutzerdefinierte Prozesse beim Validieren eines Werts aus.

Remove(Parameter)

Entfernt das angegebene Parameter-Objekt aus der ParameterCollection-Auflistung.

RemoveAt(Int32)

Entfernt das Parameter-Objekt am angegebenen Index aus der ParameterCollection-Auflistung.

SetDirty()

Erzwingt den serialisierten Ansichtszustand für die gesamte StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
SetDirtyObject(Object)

Markiert das angegebene Parameter-Objekt als geändert, seit es das letzte Mal geladen oder aus dem Ansichtszustand gespeichert wurde.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UpdateValues(HttpContext, Control)

Durchläuft die in der Auflistung enthaltenen Parameter-Objekte und ruft die Evaluate-Methode für jedes dieser Objekte auf.

Ereignisse

ParametersChanged

Tritt ein, wenn sich der Zustand von einem oder mehreren in der Auflistung enthaltenen Parameter-Objekten ändert.

Explizite Schnittstellenimplementierungen

ICollection.Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung synchronisiert (threadsicher) ist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die StateManagedCollection-Auflistung synchronisiert werden kann. Diese Methode gibt immer null zurück.

(Geerbt von StateManagedCollection)
IEnumerable.GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
IList.Add(Object)

Fügt der StateManagedCollection-Auflistung ein Element hinzu.

(Geerbt von StateManagedCollection)
IList.Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Contains(Object)

Ermittelt, ob die StateManagedCollection-Auflistung einen bestimmten Wert enthält.

(Geerbt von StateManagedCollection)
IList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements in der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die StateManagedCollection-Auflistung ein.

(Geerbt von StateManagedCollection)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung eine feste Größe aufweist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung schreibgeschützt ist.

(Geerbt von StateManagedCollection)
IList.Item[Int32]

Ruft das IStateManager-Element am angegebenen Index ab.

(Geerbt von StateManagedCollection)
IList.Remove(Object)

Entfernt das erste Vorkommen des angegebenen Objekts aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.RemoveAt(Int32)

Entfernt das IStateManager-Element am angegebenen Index.

(Geerbt von StateManagedCollection)
IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung Änderungen des Ansichtszustands speichert.

(Geerbt von StateManagedCollection)
IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand der StateManagedCollection-Auflistung und der in ihr enthaltenen IStateManager-Elemente wieder her.

(Geerbt von StateManagedCollection)
IStateManager.SaveViewState()

Speichert die Änderungen an der StateManagedCollection-Auflistung und allen darin enthaltenen IStateManager-Objekten seit dem Zeitpunkt, zu dem die Seite zurück an den Server gesendet wurde.

(Geerbt von StateManagedCollection)
IStateManager.TrackViewState()

Weist die StateManagedCollection-Auflistung und alle in ihr enthaltenen IStateManager-Objekte an, die Änderungen im Ansichtszustand nachzuverfolgen, sodass diese für die gleiche Seite anforderungsübergreifend beibehalten werden können.

(Geerbt von StateManagedCollection)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen