ParameterCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- Dědičnost
Příklady
Následující příklad kódu ukazuje použití AccessDataSource ovládacího prvku a FormParameter zobrazení informací z databáze Aplikace Microsoft Access v ovládacím GridView prvku. Objekt FormParameter je přidán do SelectParameters kolekce pomocí Add metody.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu Přehled zneužití skriptů.
<%@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>
Poznámky
Třída ParameterCollection představuje kolekci Parameter objektů používaných v pokročilých scénářích datových vazeb s ovládacími prvky zdroje dat. Objekty Parameter se používají k vytvoření vazby hodnot obsažených místními Page proměnnými, soubory cookie HTTP, proměnné relací a hodnoty jiných ovládacích prvků k ovládacím prvkům zdroje dat při načítání, aktualizaci, odstraňování a vkládání dat.
ParameterCollection Pomocí třídy můžete programově spravovat sadu Parameter objektů. Objekty můžete přidávat, vkládat a odebírat Parameter pomocí vhodných ParameterCollection metod třídy. K programovému načtení Parameter objektů z kolekce použijte jednu z následujících metod:
Indexer slouží k získání jednoho Parameter objektu z kolekce podle názvu nebo zápisu pole.
Použijte metodu GetEnumerator k vytvoření -implementovaného objektu System.Collections.IEnumerator, který lze použít k získání položek z kolekce.
Vlastnost Count určuje celkový počet položek v kolekci a slouží k určení horní hranice kolekce. Položky z kolekce můžete přidávat a odebírat pomocí příkazů Add, Insert, Removea RemoveAt metod.
V závislosti na implementaci a sémantice konkrétní správy zdrojů dat může být důležité pořadí, ve kterém jsou parametry uloženy v kolekci ParameterCollection . Například při použití SqlDataSource ovládacího prvku jako zdroje dat ODBC musí být pořadí Parameter objektů v ParameterCollection kolekci stejné jako pořadí parametrů v parametrizovaných dotazech SQL, které používáte. Při použití SqlDataSource ovládacího prvku s Microsoft SQL Serverem však pořadí Parameter objektů není důležité.
Důležité
Při použití ovládacích prvků zdroje dat se hodnoty vloží do parametrů příkazů bez ověření, což je potenciální bezpečnostní hrozba. Pomocí události v ovládacím prvku zdroje dat ověřte hodnoty parametrů před spuštěním příkazu. Další informace naleznete v tématu Přehled zneužití skriptů.
Následující tabulka uvádí různé třídy parametrů a jejich použití.
| Třída parametru | Description |
|---|---|
| Parameter | Základní třída parametru. Slouží k vytvoření vazby k místní proměnné nebo libovolnému statickému řetězci pomocí DefaultValue vlastnosti. |
| ControlParameter | Parametr, který lze použít k vytvoření vazby na vlastnost ovládacího prvku nebo návratovou hodnotu metody. |
| CookieParameter | Parametr, který lze použít k vytvoření vazby na hodnotu souboru cookie. |
| FormParameter | Parametr, který lze použít k vytvoření vazby na atribut aktuální stránky webových formulářů. |
| QueryStringParameter | Parametr, který lze použít k vytvoření vazby na hodnotu předanou na stránku Webové formuláře v řetězci dotazu. |
| SessionParameter | Parametr, který lze použít k vytvoření vazby na hodnotu proměnné relace. |
| ProfileParameter | Parametr, který lze použít k vytvoření vazby na hodnotu vlastnosti ASP.NET Profile. |
Konstruktory
| Name | Description |
|---|---|
| ParameterCollection() |
Inicializuje třídu pro použití zděděnou instancí třídy. Tento konstruktor lze volat pouze zděděnou třídou. |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet prvků obsažených v kolekci StateManagedCollection . (Zděděno od StateManagedCollection) |
| Item[Int32] |
Získá nebo nastaví Parameter objekt v zadaném indexu v kolekci. |
| Item[String] |
Získá nebo nastaví Parameter objekt se zadaným názvem v kolekci. |
Metody
| Name | Description |
|---|---|
| Add(Parameter) |
Připojí zadaný Parameter objekt na konec kolekce. |
| Add(String, DbType, String) |
Parameter Vytvoří objekt se zadaným názvem, typem databáze a výchozí hodnotou a přidá ho na konec kolekce. |
| Add(String, String) |
Parameter Vytvoří objekt se zadaným názvem a výchozí hodnotou a připojí ho na konec kolekce. |
| Add(String, TypeCode, String) |
Parameter Vytvoří objekt se zadaným názvem TypeCodea výchozí hodnotou a připojí ho na konec kolekce. |
| Clear() |
Odebere všechny položky z StateManagedCollection kolekce. (Zděděno od StateManagedCollection) |
| Contains(Parameter) |
Určuje, zda ParameterCollection kolekce obsahuje konkrétní hodnotu. |
| CopyTo(Array, Int32) |
Zkopíruje prvky StateManagedCollection kolekce do pole počínaje konkrétním indexem pole. (Zděděno od StateManagedCollection) |
| CopyTo(Parameter[], Int32) |
Zkopíruje zadaný index pole parametrů do kolekce parametrů. |
| CreateKnownType(Int32) |
Vytvoří instanci výchozího Parameter objektu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
Vrátí iterátor, který prochází kolekcí StateManagedCollection . (Zděděno od StateManagedCollection) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetKnownTypes() |
Získá pole typů Parameter , které ParameterCollection kolekce může obsahovat. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetValues(HttpContext, Control) |
Získá seřazenou kolekci Parameter názvů objektů a jejich odpovídající hodnoty aktuálně obsažené v kolekci. |
| IndexOf(Parameter) |
Určuje index zadaného Parameter objektu v kolekci ParameterCollection . |
| Insert(Int32, Parameter) |
Vloží zadaný Parameter objekt do ParameterCollection kolekce v zadaném indexu. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| OnClear() |
Při přepsání v odvozené třídě provede další práci předtím, než Clear() metoda odebere všechny položky z kolekce. (Zděděno od StateManagedCollection) |
| OnClearComplete() |
Provádí další vlastní procesy po vymazání obsahu kolekce. |
| OnInsert(Int32, Object) |
Vyvolá se před zavolání Insert(Int32, Parameter) metody. |
| OnInsertComplete(Int32, Object) |
Nastane po Insert(Int32, Parameter) dokončení metody. |
| OnParametersChanged(EventArgs) |
ParametersChanged Vyvolá událost. |
| OnRemove(Int32, Object) |
Při přepsání v odvozené třídě provede další práci před IList.Remove(Object) odebráním IList.RemoveAt(Int32) zadané položky z kolekce. (Zděděno od StateManagedCollection) |
| OnRemoveComplete(Int32, Object) |
Nastane po Remove(Parameter) dokončení metody. |
| OnValidate(Object) |
Provádí další vlastní procesy při ověřování hodnoty. |
| Remove(Parameter) |
Odebere zadaný Parameter objekt z ParameterCollection kolekce. |
| RemoveAt(Int32) |
Odebere Parameter objekt v zadaném indexu ParameterCollection z kolekce. |
| SetDirty() |
Vynutí serializaci celé StateManagedCollection kolekce do stavu zobrazení. (Zděděno od StateManagedCollection) |
| SetDirtyObject(Object) |
Označí zadaný Parameter objekt jako změněný od posledního načtení nebo uložení ze stavu zobrazení. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
| UpdateValues(HttpContext, Control) |
Iteruje objekty Parameter obsažené v kolekci a volá metodu |
Událost
| Name | Description |
|---|---|
| ParametersChanged |
Nastane, když jeden nebo více Parameter objektů obsažených v kolekci změní stav. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICollection.Count |
Získá počet prvků obsažených v kolekci StateManagedCollection . (Zděděno od StateManagedCollection) |
| ICollection.IsSynchronized |
Získá hodnotu označující, zda StateManagedCollection je kolekce synchronizována (bezpečné vlákno). Tato metoda vrátí |
| ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k kolekci StateManagedCollection . Tato metoda vrátí |
| IEnumerable.GetEnumerator() |
Vrátí iterátor, který prochází kolekcí StateManagedCollection . (Zděděno od StateManagedCollection) |
| IList.Add(Object) |
Přidá položku do StateManagedCollection kolekce. (Zděděno od StateManagedCollection) |
| IList.Clear() |
Odebere všechny položky z StateManagedCollection kolekce. (Zděděno od StateManagedCollection) |
| IList.Contains(Object) |
Určuje, zda StateManagedCollection kolekce obsahuje konkrétní hodnotu. (Zděděno od StateManagedCollection) |
| IList.IndexOf(Object) |
Určuje index zadané položky v kolekci StateManagedCollection . (Zděděno od StateManagedCollection) |
| IList.Insert(Int32, Object) |
Vloží položku do StateManagedCollection kolekce v zadaném indexu. (Zděděno od StateManagedCollection) |
| IList.IsFixedSize |
Získá hodnotu určující, zda StateManagedCollection kolekce má pevnou velikost. Tato metoda vrátí |
| IList.IsReadOnly |
Získá hodnotu určující, zda StateManagedCollection kolekce je jen pro čtení. (Zděděno od StateManagedCollection) |
| IList.Item[Int32] |
IStateManager Získá prvek v zadaném indexu. (Zděděno od StateManagedCollection) |
| IList.Remove(Object) |
Odebere první výskyt zadaného objektu StateManagedCollection z kolekce. (Zděděno od StateManagedCollection) |
| IList.RemoveAt(Int32) |
Odebere IStateManager prvek v zadaném indexu. (Zděděno od StateManagedCollection) |
| IStateManager.IsTrackingViewState |
Získá hodnotu určující, zda StateManagedCollection kolekce ukládá změny do jeho stavu zobrazení. (Zděděno od StateManagedCollection) |
| IStateManager.LoadViewState(Object) |
Obnoví dříve uložený stav StateManagedCollection zobrazení kolekce a IStateManager položky, které obsahuje. (Zděděno od StateManagedCollection) |
| IStateManager.SaveViewState() |
Uloží změny StateManagedCollection v kolekci a každý IStateManager objekt, který obsahuje od doby, kdy byla stránka odeslána zpět na server. (Zděděno od StateManagedCollection) |
| IStateManager.TrackViewState() |
Způsobí, že StateManagedCollection kolekce a každý z IStateManager objektů, které obsahuje, bude sledovat změny jejich stavu zobrazení, aby bylo možné je zachovat napříč požadavky na stejnou stránku. (Zděděno od StateManagedCollection) |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |