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, jak pomocí ovládacího prvku AccessDataSource a objektu FormParameter zobrazit informace z databáze Aplikace Microsoft Access v ovládacím prvku GridView . 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 uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete 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 objektů používaných v pokročilých Parameter scénářích datových vazeb s ovládacími prvky zdroje dat. Objekty Parameter slouží k vytvoření vazby hodnot obsažených v místních Page proměnných, souborech cookie HTTP, proměnných relací a dalších ovládacích prvcích s ovládacími prvky 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í příslušných metod ParameterCollection 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í Addmetod , Insert, Removea RemoveAt .

V závislosti na implementaci a sémantice konkrétního ovládacího prvku zdroje 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 Server ale 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říkazu bez ověření, což je potenciální ohrožení zabezpečení. K ověření hodnot parametrů před spuštěním příkazu použijte událost v ovládacím prvku zdroje dat. Další informace najdete v tématu Přehled zneužití skriptů.

Následující tabulka uvádí různé třídy parametrů a způsob jejich použití.

Parameter – třída Description
Parameter Třída základního parametru. Použijte ho k vytvoření vazby na místní proměnnou nebo libovolný statický řetězec pomocí DefaultValue vlastnosti .
ControlParameter Parametr, který lze použít k vytvoření vazby na návratovou hodnotu ovládacího prvku nebo 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 Web Forms.
QueryStringParameter Parametr, který lze použít k vytvoření vazby na hodnotu předanou Web Forms stránce 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 ASP.NET Profile vlastnost.

Konstruktory

ParameterCollection()

Inicializuje třídu pro použití zděděnou instancí třídy. Tento konstruktor může být volána pouze zděděnou třídou.

Vlastnosti

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

Add(Parameter)

Připojí zadaný Parameter objekt na konec kolekce.

Add(String, DbType, String)

Vytvoří objekt se Parameter zadaným názvem, typem databáze a výchozí hodnotou a přidá ho na konec kolekce.

Add(String, String)

Vytvoří objekt se Parameter zadaným názvem a výchozí hodnotou a připojí ho na konec kolekce.

Add(String, TypeCode, String)

Vytvoří objekt se Parameter 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čí, zda se zadaný objekt rovná 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í hashovací funkce.

(Zděděno od Object)
GetKnownTypes()

Získá pole Parameter typů, které ParameterCollection může kolekce obsahovat.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
GetValues(HttpContext, Control)

Získá seřazenou kolekci Parameter názvů objektů a jejich odpovídajících hodnot aktuálně obsažených 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 Objectsouboru .

(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()

Provede další vlastní procesy po vymazání obsahu kolekce.

OnInsert(Int32, Object)

Nastane 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)IList.RemoveAt(Int32) nebo metoda odebere zadanou položku 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 z ParameterCollection 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 na každém z nich.

Událost

ParametersChanged

Nastane, když jeden nebo více Parameter objektů obsažených v kolekci změní stav.

Explicitní implementace rozhraní

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 (bez vláken). 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 ke 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 označ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 označující, zda StateManagedCollection je kolekce jen pro čtení.

(Zděděno od StateManagedCollection)
IList.Item[Int32]

IStateManager Získá element v zadaném indexu.

(Zděděno od StateManagedCollection)
IList.Remove(Object)

Odebere první výskyt zadaného objektu z StateManagedCollection 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 označující, zda StateManagedCollection kolekce ukládá změny do svého stavu zobrazení.

(Zděděno od StateManagedCollection)
IStateManager.LoadViewState(Object)

Obnoví dříve uložený stav StateManagedCollection zobrazení kolekce a položek, které IStateManager obsahuje.

(Zděděno od StateManagedCollection)
IStateManager.SaveViewState()

Uloží změny StateManagedCollection kolekce a všech IStateManager objektů, které obsahuje od okamžiku, 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, budou sledovat změny stavu zobrazení, aby je bylo možné zachovat napříč požadavky na stejnou stránku.

(Zděděno od StateManagedCollection)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také