ParameterCollection-Klasse
Assembly: System.Web (in system.web.dll)
Die ParameterCollection-Klasse stellt eine Auflistung von Parameter-Objekten dar, die in Szenarios mit erweiterter Datenbindung mit Datenquellen-Steuerelementen verwendet werden. Die Parameter-Objekte werden verwendet, um die in lokalen Page-Variablen, in HTTP-Cookies und in Sitzungsvariablen enthaltenen Werte sowie die Werte anderer Steuerelemente an Datenquellen-Steuerelemente zu binden, wenn Daten abgerufen, aktualisiert, gelöscht oder eingefügt werden.
Mit der ParameterCollection-Klasse können Sie eine Gruppe von Parameter-Objekten programmgesteuert verwalten. Sie können Parameter-Objekte mit den entsprechenden Methoden der ParameterCollection-Klasse hinzufügen, einfügen und entfernen. Verwenden Sie eine der folgenden Methoden, um Parameter-Objekte programmgesteuert aus einer Auflistung abzurufen:
-
Rufen Sie mit dem Indexer anhand des Namens oder unter Verwendung von Arraynotation ein einzelnes Parameter-Objekt aus der Auflistung ab.
-
Erstellen Sie mit der GetEnumerator-Methode ein implementiertes System.Collections.IEnumerator-Objekt, mit dem anschließend Elemente aus der Auflistung abgerufen werden können.
Die Count-Eigenschaft gibt die Gesamtzahl der Elemente in der Auflistung an und wird zum Bestimmen der oberen Grenze der Auflistung verwendet. Mithilfe der Methoden Add, Insert, Remove und RemoveAt können Sie der Auflistung Elemente hinzufügen oder diese daraus entfernen.
Je nach Implementierung und Semantik eines bestimmten Datenquellen-Steuerelements kann die Reihenfolge, in der die Parameter in der ParameterCollection-Auflistung gespeichert sind, wichtig sein. Wenn Sie z. B. das SqlDataSource-Steuerelement als ODBC-Datenquelle verwenden, muss die Reihenfolge der Parameter-Objekte in der ParameterCollection-Auflistung mit der Reihenfolge der Parameter in den verwendeten parametrisierten SQL-Abfragen übereinstimmen. Wenn Sie jedoch das SqlDataSource-Steuerelement mit Microsoft SQL Server verwenden, ist die Reihenfolge der Parameter-Objekte nicht von Bedeutung.
Sicherheitshinweis |
|---|
| Wenn Sie Datenquellensteuerelemente verwenden, werden Werte ohne Validierung in die Befehlsparameter eingefügt. Dies stellt ein potenzielles Sicherheitsrisiko dar. Verwenden Sie ein Ereignis im Datenquellensteuerelement, um Parameterwerte zu validieren, bevor der Befehl ausgeführt wird. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe. |
In der folgenden Tabelle werden die verschiedenen Parameterklassen und ihre Verwendungsweise aufgelistet.
| Parameterklasse | Beschreibung |
|---|---|
| Parameter | Die Basisparameterklasse. Verwenden Sie diese, um mit der DefaultValue-Eigenschaft an eine lokale Variable oder eine statische Zeichenfolge zu binden. |
| Ein Parameter, der verwendet werden kann, um an die Eigenschaft oder den Methodenrückgabewert eines Steuerelements zu binden. | |
| Ein Parameter, mit dem an den Wert eines Cookies gebunden werden kann. | |
| Ein Parameter, mit dem an ein Attribut der aktuellen Web Forms-Seite gebunden werden kann. | |
| Ein Parameter, mit dem an einen Wert gebunden werden kann, der in einer Abfragezeichenfolge an eine Web Forms-Seite übergeben wird. | |
| Ein Parameter, mit dem an den Wert einer Sitzungsvariable gebunden werden kann. | |
| Ein Parameter, mit dem an den Wert einer ASP.NET-Profileigenschaft gebunden werden kann. |
Im folgenden Codebeispiel wird veranschaulicht, wie Informationen von einer Microsoft Access-Datenbank mithilfe des AccessDataSource-Steuerelements und einem FormParameter in einem GridView-Steuerelement angezeigt werden. Der SelectParameters-Auflistung wird das FormParameter-Objekt mithilfe der Add-Methode hinzugefügt.
Sicherheitshinweis |
|---|
| 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="VJ#" %>
<!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, System.EventArgs e)
{
// You can add a FormParameter to the AccessDataSource control's
// SelectParameters collection programmatically.
AccessDataSource1.get_SelectParameters().Clear();
FormParameter formParam = new FormParameter("lastname", "LastNameBox");
formParam.set_Type(System.TypeCode.String);
AccessDataSource1.get_SelectParameters().Add(formParam);
} //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>
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal.
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.
Sicherheitshinweis