Udostępnij za pośrednictwem


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 elementu FormParameter do wyświetlania informacji z bazy danych programu Microsoft Access w kontrolce GridView . Obiekt FormParameter jest dodawany do SelectParameters kolekcji przy użyciu Add metody .

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (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ązania 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 wartości 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. Można dodawać, wstawiać i usuwać Parameter obiekty 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ść Parameter obiektów w ParameterCollection kolekcji musi być taka sama jak kolejność parametrów w sparametryzowanych zapytaniach SQL. Jednak w przypadku używania kontrolki SqlDataSource z programem Microsoft SQL Server kolejność Parameter obiektów nie jest ważna.

Ważne

W przypadku korzystania z 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 Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).

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

Parameter, klasa Opis
Parameter Klasa parametrów podstawowych. Służy do wią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 formularzy sieci Web.
QueryStringParameter Parametr, który może służyć do powiązania z wartością przekazaną do strony formularzy sieci Web 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 po kolekcji StateManagedCollection .

(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 wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetValues(HttpContext, Control)

Pobiera uporządkowaną kolekcję Parameter nazw obiektów i odpowiadające im wartości znajdujące 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 ParameterCollection kolekcji w określonym indeksie.

MemberwiseClone()

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

(Odziedziczone po Object)
OnClear()

Po zastąpieniu w klasie pochodnej program wykonuje dodatkową pracę przed Clear() usunięciem wszystkich elementów 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 program 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 na stan widoku.

(Odziedziczone po StateManagedCollection)
SetDirtyObject(Object)

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

ToString()

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

(Odziedziczone po Object)
UpdateValues(HttpContext, Control)

Wykonuje iterację po Parameter obiektach zawartych w kolekcji i wywołuje metodę Evaluate na każdym z nich.

Zdarzenia

ParametersChanged

Występuje, gdy co najmniej jeden Parameter 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 zsynchronizowana (bezpieczne wątki). Ta metoda zwraca false wszystkie przypadki.

(Odziedziczone po StateManagedCollection)
ICollection.SyncRoot

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

(Odziedziczone po StateManagedCollection)
IEnumerable.GetEnumerator()

Zwraca iterator iterujący po kolekcji StateManagedCollection .

(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 StateManagedCollection kolekcji w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.IsFixedSize

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja ma stały rozmiar. Ta metoda zwraca false wszystkie 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 widoku kolekcji StateManagedCollection i IStateManager elementów, które zawiera.

(Odziedziczone po StateManagedCollection)
IStateManager.SaveViewState()

Zapisuje zmiany StateManagedCollection w 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 w celu śledzenia zmian stanu widoku, dzięki czemu mogą być utrwalane między żądaniami dla tej samej strony.

(Odziedziczone po StateManagedCollection)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy obiektu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

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

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też