ParameterCollection Klasa

Definicja

Reprezentuje kolekcję Parameter obiektów pochodnych i Parameterużywanych przez kontrolki źródła danych w zaawansowanych scenariuszach powiązań danych.

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

Przykłady

W poniższym przykładzie kodu pokazano, jak używać kontrolki AccessDataSource i kontrolki FormParameter do wyświetlania informacji z bazy danych programu Microsoft Access w kontrolce GridView . Obiekt FormParameter jest dodawany do kolekcji SelectParameters przy użyciu Add metody .

Ważne

W tym przykładzie znajduje się pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

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

Uwagi

Klasa ParameterCollection reprezentuje kolekcję Parameter obiektów używanych w zaawansowanych scenariuszach powiązań danych z kontrolkami źródła danych. Obiekty Parameter są używane do powiązania wartości zawartych w zmiennych lokalnych Page , plików cookie HTTP, zmiennych sesji i innych kontrolek do kontrolek źródła danych podczas pobierania, aktualizowania, usuwania i wstawiania danych.

ParameterCollection Użyj klasy, aby programowo zarządzać zestawem Parameter obiektów. Obiekty można dodawać, wstawiać i usuwać Parameter przy użyciu odpowiednich metod ParameterCollection klasy. Aby programowo pobrać Parameter obiekty z kolekcji, użyj jednej z następujących metod:

  • Użyj indeksatora, aby pobrać pojedynczy Parameter obiekt z kolekcji według nazwy lub przy użyciu notacji tablicy.

  • GetEnumerator Użyj metody , aby utworzyć System.Collections.IEnumeratorobiekt implementowany, który następnie może służyć do pobierania elementów z kolekcji.

Właściwość Count określa całkowitą liczbę elementów w kolekcji i służy do określania górnej granicy kolekcji. Elementy z kolekcji można dodawać i usuwać przy użyciu Addmetod , Insert, Removei RemoveAt .

W zależności od implementacji i semantyki określonej kontroli źródła danych kolejność przechowywania parametrów w ParameterCollection kolekcji może być ważna. Na przykład w przypadku używania kontrolki SqlDataSource jako źródła danych ODBC kolejność obiektów w ParameterCollection kolekcji musi być taka sama jak kolejność Parameter parametrów w używanych sparametryzowanych zapytaniach SQL. Jednak w przypadku używania kontrolki SqlDataSource z usługą Microsoft SQL Server kolejność Parameter obiektów nie jest ważna.

Ważne

W przypadku używania kontrolek źródła danych wartości są wstawiane do parametrów polecenia bez walidacji, co jest potencjalnym zagrożeniem bezpieczeństwa. Użyj zdarzenia w kontrolce źródła danych, aby zweryfikować wartości parametrów przed wykonaniem polecenia. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

W poniższej tabeli wymieniono różne klasy parametrów i sposób ich użycia.

Parametr, klasa Opis
Parameter Podstawowa klasa parametrów. Służy do powiązania z zmienną lokalną lub dowolnym ciągiem statycznym DefaultValue przy użyciu właściwości .
ControlParameter Parametr, który może służyć do powiązania z właściwością lub wartością zwracaną metody lub kontrolki.
CookieParameter Parametr, który może służyć do powiązania z wartością pliku cookie.
FormParameter Parametr, który może służyć do powiązania z atrybutem bieżącej strony Web Forms.
QueryStringParameter Parametr, który może służyć do powiązania z wartością przekazaną do strony Web Forms w ciągu zapytania.
SessionParameter Parametr, który może służyć do powiązania z wartością zmiennej sesji.
ProfileParameter Parametr, który może służyć do powiązania z wartością właściwości profilu ASP.NET.

Konstruktory

ParameterCollection()

Inicjuje klasę do użycia przez dziedziczone wystąpienie klasy. Ten konstruktor może być wywoływany tylko przez dziedziczonej klasy.

Właściwości

Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Item[Int32]

Pobiera lub ustawia Parameter obiekt w określonym indeksie w kolekcji.

Item[String]

Pobiera lub ustawia Parameter obiekt o określonej nazwie w kolekcji.

Metody

Add(Parameter)

Dołącza określony Parameter obiekt na końcu kolekcji.

Add(String, DbType, String)

Parameter Tworzy obiekt o określonej nazwie, typie bazy danych i wartości domyślnej i dodaje go na końcu kolekcji.

Add(String, String)

Parameter Tworzy obiekt o określonej nazwie i wartości domyślnej i dołącza go na końcu kolekcji.

Add(String, TypeCode, String)

Parameter Tworzy obiekt o określonej nazwie, TypeCodei wartości domyślnej i dołącza go na końcu kolekcji.

Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Contains(Parameter)

Określa, czy ParameterCollection kolekcja zawiera określoną wartość.

CopyTo(Array, Int32)

Kopiuje elementy StateManagedCollection kolekcji do tablicy, zaczynając od określonego indeksu tablicy.

(Odziedziczone po StateManagedCollection)
CopyTo(Parameter[], Int32)

Kopiuje określony indeks tablicy parametrów do kolekcji parametrów.

CreateKnownType(Int32)

Tworzy wystąpienie obiektu domyślnego Parameter .

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetKnownTypes()

Pobiera tablicę Parameter typów, które ParameterCollection może zawierać kolekcja.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetValues(HttpContext, Control)

Pobiera uporządkowaną kolekcję Parameter nazw obiektów i odpowiadających im wartości znajdujących się obecnie w kolekcji.

IndexOf(Parameter)

Określa indeks określonego Parameter obiektu w kolekcji ParameterCollection .

Insert(Int32, Parameter)

Wstawia określony Parameter obiekt do kolekcji ParameterCollection w określonym indeksie.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnClear()

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę, zanim Clear() metoda usunie wszystkie elementy z kolekcji.

(Odziedziczone po StateManagedCollection)
OnClearComplete()

Wykonuje dodatkowe procesy niestandardowe po wyczyszczeniu zawartości kolekcji.

OnInsert(Int32, Object)

Występuje przed wywołaniem Insert(Int32, Parameter) metody.

OnInsertComplete(Int32, Object)

Występuje po zakończeniu Insert(Int32, Parameter) metody.

OnParametersChanged(EventArgs)

ParametersChanged Zgłasza zdarzenie.

OnRemove(Int32, Object)

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę przed IList.Remove(Object) usunięciem określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) .

(Odziedziczone po StateManagedCollection)
OnRemoveComplete(Int32, Object)

Występuje po zakończeniu Remove(Parameter) metody.

OnValidate(Object)

Wykonuje dodatkowe procesy niestandardowe podczas sprawdzania poprawności wartości.

Remove(Parameter)

Usuwa określony Parameter obiekt z kolekcji ParameterCollection .

RemoveAt(Int32)

Parameter Usuwa obiekt w określonym indeksie z kolekcjiParameterCollection.

SetDirty()

Wymusza serializacji całej StateManagedCollection kolekcji w stan widoku.

(Odziedziczone po StateManagedCollection)
SetDirtyObject(Object)

Oznacza określony Parameter obiekt jako zmieniony od ostatniego ładowania lub zapisywania ze stanu widoku.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UpdateValues(HttpContext, Control)

Iteruje przez Parameter obiekty zawarte w kolekcji i wywołuje metodę Evaluate na każdym z nich.

Zdarzenia

ParametersChanged

Występuje, gdy co najmniej Parameter jeden obiekt zawarty w kolekcji zmienia stan.

Jawne implementacje interfejsu

ICollection.Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
ICollection.IsSynchronized

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest synchronizowana (bezpieczne wątki). Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do StateManagedCollection kolekcji. Ta metoda zwraca wszystkie null przypadki.

(Odziedziczone po StateManagedCollection)
IEnumerable.GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
IList.Add(Object)

Dodaje element do kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Contains(Object)

Określa, czy StateManagedCollection kolekcja zawiera określoną wartość.

(Odziedziczone po StateManagedCollection)
IList.IndexOf(Object)

Określa indeks określonego elementu w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Insert(Int32, Object)

Wstawia element do kolekcji StateManagedCollection w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.IsFixedSize

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja ma stały rozmiar. Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
IList.IsReadOnly

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest tylko do odczytu.

(Odziedziczone po StateManagedCollection)
IList.Item[Int32]

IStateManager Pobiera element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.Remove(Object)

Usuwa pierwsze wystąpienie określonego obiektu z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.RemoveAt(Int32)

IStateManager Usuwa element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja zapisuje zmiany w stanie widoku.

(Odziedziczone po StateManagedCollection)
IStateManager.LoadViewState(Object)

Przywraca wcześniej zapisany stan StateManagedCollection widoku kolekcji i IStateManager zawarte w nim elementy.

(Odziedziczone po StateManagedCollection)
IStateManager.SaveViewState()

Zapisuje zmiany w StateManagedCollection kolekcji i każdy IStateManager obiekt, który zawiera od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po StateManagedCollection)
IStateManager.TrackViewState()

Powoduje, że StateManagedCollection kolekcja i każdy z IStateManager obiektów, które zawiera, aby śledzić zmiany w ich stanie wyświetlania, dzięki czemu mogą być utrwalane między żądaniami dla tej samej strony.

(Odziedziczone po StateManagedCollection)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też