Condividi tramite


ParameterCollection Classe

Definizione

Rappresenta una raccolta di Parameter oggetti derivati da e Parameterutilizzati dai controlli origine dati in scenari avanzati di data binding.

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
Ereditarietà
ParameterCollection

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare un AccessDataSource controllo e un FormParameter oggetto per visualizzare informazioni da un database di Microsoft Access in un GridView controllo . L'oggetto FormParameter viene aggiunto all'insieme SelectParameters utilizzando il Add metodo .

Importante

In questo esempio è presente una casella di testo che accetta l'input dell'utente, che rappresenta una potenziale minaccia per la sicurezza. Per impostazione predefinita, ASP.NET pagine Web verificare che l'input dell'utente non includa elementi SCRIPT o HTML. Per altre informazioni, vedere Cenni preliminari sugli exploit di script.

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

Commenti

La ParameterCollection classe rappresenta una raccolta di oggetti utilizzati in scenari avanzati di Parameter data binding con i controlli origine dati. Gli Parameter oggetti vengono usati per associare i valori contenuti da variabili locali Page , cookie HTTP, variabili di sessione e altri controlli ai controlli dell'origine dati durante il recupero, l'aggiornamento, l'eliminazione e l'inserimento di dati.

Utilizzare la ParameterCollection classe per gestire a livello di codice un set di Parameter oggetti. È possibile aggiungere, inserire e rimuovere Parameter oggetti usando i metodi appropriati della ParameterCollection classe . Per recuperare Parameter oggetti da una raccolta a livello di codice, utilizzare uno dei metodi seguenti:

  • Utilizzare l'indicizzatore per ottenere un singolo Parameter oggetto dall'insieme, in base al nome o usando la notazione di matrice.

  • Utilizzare il GetEnumerator metodo per creare un System.Collections.IEnumeratoroggetto implementato da , che può quindi essere usato per ottenere elementi dalla raccolta.

La Count proprietà specifica il numero totale di elementi nell'insieme e viene utilizzata per determinare il limite superiore dell'insieme. È possibile aggiungere e rimuovere elementi dalla raccolta usando i Addmetodi , InsertRemove, e RemoveAt .

A seconda dell'implementazione e della semantica di un particolare controllo origine dati, l'ordine in cui i parametri vengono archiviati nella ParameterCollection raccolta potrebbe essere importante. Ad esempio, quando si usa il SqlDataSource controllo come origine dati ODBC, l'ordine degli Parameter oggetti nella ParameterCollection raccolta deve essere uguale all'ordine dei parametri nelle query SQL con parametri usate. Tuttavia, quando si usa il SqlDataSource controllo con Microsoft SQL Server, l'ordine degli Parameter oggetti non è importante.

Importante

Quando si usano i controlli origine dati, i valori vengono inseriti nei parametri di comando senza convalida, che rappresenta una potenziale minaccia per la sicurezza. Usare un evento nel controllo origine dati per convalidare i valori dei parametri prima dell'esecuzione del comando. Per altre informazioni, vedere Cenni preliminari sugli exploit di script.

Nella tabella seguente sono elencate le diverse classi di parametri e il modo in cui vengono usate.

Classe Parameter Descrizione
Parameter Classe di parametri di base. Usarlo per eseguire l'associazione a una variabile locale o a qualsiasi stringa statica usando la DefaultValue proprietà .
ControlParameter Parametro che può essere utilizzato per eseguire l'associazione al valore restituito di un controllo o di un metodo.
CookieParameter Parametro che può essere usato per eseguire l'associazione al valore di un cookie.
FormParameter Parametro che può essere utilizzato per eseguire l'associazione a un attributo della pagina Web Form corrente.
QueryStringParameter Parametro che può essere utilizzato per eseguire l'associazione a un valore passato a una pagina Web Form in una stringa di query.
SessionParameter Parametro che può essere usato per eseguire l'associazione al valore di una variabile di sessione.
ProfileParameter Parametro che può essere utilizzato per eseguire l'associazione al valore di una proprietà profile ASP.NET.

Costruttori

Nome Descrizione
ParameterCollection()

Inizializza la classe per l'uso da parte di un'istanza della classe ereditata. Questo costruttore può essere chiamato solo da una classe ereditata.

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi contenuti nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
Item[Int32]

Ottiene o imposta l'oggetto Parameter in corrispondenza dell'indice specificato nell'insieme.

Item[String]

Ottiene o imposta l'oggetto Parameter con il nome specificato nell'insieme.

Metodi

Nome Descrizione
Add(Parameter)

Accoda l'oggetto specificato Parameter alla fine dell'insieme.

Add(String, DbType, String)

Crea un Parameter oggetto con il nome, il tipo di database e il valore predefinito specificati e lo aggiunge alla fine della raccolta.

Add(String, String)

Crea un Parameter oggetto con il nome e il valore predefinito specificati e lo aggiunge alla fine della raccolta.

Add(String, TypeCode, String)

Crea un Parameter oggetto con il nome, TypeCodee il valore predefinito specificati e lo aggiunge alla fine della raccolta.

Clear()

Rimuove tutti gli elementi dalla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
Contains(Parameter)

Determina se la ParameterCollection raccolta contiene un valore specifico.

CopyTo(Array, Int32)

Copia gli elementi della StateManagedCollection raccolta in una matrice, a partire da un indice di matrice specifico.

(Ereditato da StateManagedCollection)
CopyTo(Parameter[], Int32)

Copia un indice specificato di una matrice di parametri nella raccolta di parametri.

CreateKnownType(Int32)

Crea un'istanza di un oggetto predefinito Parameter .

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un iteratore che scorre l'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKnownTypes()

Ottiene una matrice di Parameter tipi che l'insieme ParameterCollection può contenere.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValues(HttpContext, Control)

Ottiene una raccolta ordinata di nomi di Parameter oggetto e i relativi valori corrispondenti attualmente contenuti nell'insieme.

IndexOf(Parameter)

Determina l'indice di un oggetto specificato Parameter nell'insieme ParameterCollection .

Insert(Int32, Parameter)

Inserisce l'oggetto specificato Parameter nell'insieme ParameterCollection in corrispondenza dell'indice specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto corrente Object.

(Ereditato da Object)
OnClear()

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive prima che il Clear() metodo rimuova tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnClearComplete()

Esegue processi personalizzati aggiuntivi dopo la cancellazione del contenuto della raccolta.

OnInsert(Int32, Object)

Si verifica prima che venga chiamato il Insert(Int32, Parameter) metodo .

OnInsertComplete(Int32, Object)

Si verifica al termine del Insert(Int32, Parameter) metodo.

OnParametersChanged(EventArgs)

Genera l'evento ParametersChanged.

OnRemove(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue operazioni aggiuntive prima che il IList.Remove(Object) metodo o IList.RemoveAt(Int32) rimuova l'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnRemoveComplete(Int32, Object)

Si verifica al termine del Remove(Parameter) metodo.

OnValidate(Object)

Esegue processi personalizzati aggiuntivi durante la convalida di un valore.

Remove(Parameter)

Rimuove l'oggetto specificato Parameter dall'insieme ParameterCollection .

RemoveAt(Int32)

Rimuove l'oggetto Parameter in corrispondenza dell'indice specificato dall'insieme ParameterCollection .

SetDirty()

Forza la serializzazione dell'intera StateManagedCollection raccolta nello stato di visualizzazione.

(Ereditato da StateManagedCollection)
SetDirtyObject(Object)

Contrassegna l'oggetto specificato Parameter come modificato dopo l'ultimo caricamento o il salvataggio dallo stato di visualizzazione.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UpdateValues(HttpContext, Control)

Scorre gli Parameter oggetti contenuti nell'insieme e chiama il Evaluate metodo su ognuno di essi.

Eventi

Nome Descrizione
ParametersChanged

Si verifica quando uno o più Parameter oggetti contenuti nell'insieme cambiano lo stato.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.Count

Ottiene il numero di elementi contenuti nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
ICollection.IsSynchronized

Ottiene un valore che indica se la StateManagedCollection raccolta è sincronizzata (thread-safe). Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme StateManagedCollection . Questo metodo restituisce null in tutti i casi.

(Ereditato da StateManagedCollection)
IEnumerable.GetEnumerator()

Restituisce un iteratore che scorre l'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.Add(Object)

Aggiunge un elemento alla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
IList.Clear()

Rimuove tutti gli elementi dalla StateManagedCollection raccolta.

(Ereditato da StateManagedCollection)
IList.Contains(Object)

Determina se la StateManagedCollection raccolta contiene un valore specifico.

(Ereditato da StateManagedCollection)
IList.IndexOf(Object)

Determina l'indice di un elemento specificato nell'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.Insert(Int32, Object)

Inserisce un elemento nella StateManagedCollection raccolta in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.IsFixedSize

Ottiene un valore che indica se la StateManagedCollection raccolta ha una dimensione fissa. Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
IList.IsReadOnly

Ottiene un valore che indica se l'insieme StateManagedCollection è di sola lettura.

(Ereditato da StateManagedCollection)
IList.Item[Int32]

Ottiene l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.Remove(Object)

Rimuove la prima occorrenza dell'oggetto specificato dall'insieme StateManagedCollection .

(Ereditato da StateManagedCollection)
IList.RemoveAt(Int32)

Rimuove l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IStateManager.IsTrackingViewState

Ottiene un valore che indica se la StateManagedCollection raccolta salva le modifiche apportate allo stato di visualizzazione.

(Ereditato da StateManagedCollection)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione salvato in precedenza della StateManagedCollection raccolta e gli IStateManager elementi contenuti.

(Ereditato da StateManagedCollection)
IStateManager.SaveViewState()

Salva le modifiche apportate all'insieme StateManagedCollection e a ogni IStateManager oggetto che contiene dall'ora in cui la pagina è stata inviata nuovamente al server.

(Ereditato da StateManagedCollection)
IStateManager.TrackViewState()

Fa sì che l'insieme StateManagedCollection e ognuno degli oggetti che contiene tiene traccia delle IStateManager modifiche apportate allo stato di visualizzazione in modo che possano essere mantenute tra le richieste per la stessa pagina.

(Ereditato da StateManagedCollection)

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche