Sdílet prostřednictvím


ParameterCollection Třída

Definice

Představuje kolekci a Parameterodvozených Parameter objektů, které jsou používány ovládacími prvky zdroje dat v pokročilých scénářích datových vazeb.

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
ParameterCollection

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:

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 Evaluate pro každý z nich.

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í false ve všech případech.

(Zděděno od StateManagedCollection)
ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k kolekci StateManagedCollection . Tato metoda vrátí null ve všech případech.

(Zděděno od StateManagedCollection)
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í false ve všech případech.

(Zděděno od StateManagedCollection)
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.

Platí pro

Viz také