ParameterCollection Classe

Definizione

Rappresenta una raccolta di oggetti derivati da Parameter e Parameter che vengono usati da controlli di origine dati in scenari di data binding avanzati.

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 usare 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 usando il Add metodo .

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite 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 usati negli scenari avanzati di Parameter associazione dati con 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 dei dati.

Usare 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 a livello di codice da una raccolta, usare uno dei metodi seguenti:

  • Usare l'indicizzatore per ottenere un singolo Parameter oggetto dall'insieme, in base al nome o all'uso della notazione della matrice.

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

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

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

Importante

Quando si usano i controlli origine dati, i valori vengono inseriti nei parametri dei comandi senza convalida, ovvero una potenziale minaccia di 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 attacchi tramite 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 il binding a una variabile locale o a una stringa statica usando la DefaultValue proprietà .
ControlParameter Parametro che può essere usato per associare al valore restituito della proprietà o del metodo di un controllo.
CookieParameter Parametro che può essere usato per associare al valore di un cookie.
FormParameter Parametro che può essere usato per associare a un attributo della pagina di Web Forms corrente.
QueryStringParameter Parametro che può essere usato per associare a un valore passato a una pagina Web Forms in una stringa di query.
SessionParameter Parametro che può essere usato per associare al valore di una variabile di sessione.
ProfileParameter Parametro che può essere usato per associare al valore di una proprietà profile di ASP.NET.

Costruttori

ParameterCollection()

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

Proprietà

Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Item[Int32]

Ottiene o imposta l'oggetto Parameter nella raccolta, in corrispondenza dell'indice specificato.

Item[String]

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

Metodi

Add(Parameter)

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

Add(String, DbType, String)

Crea un oggetto Parameter con il nome specificato, il tipo di database e un valore predefinito e lo aggiunge alla fine dell'insieme.

Add(String, String)

Crea un oggetto Parameter con il nome specificato e il valore predefinito e lo aggiunge alla fine dell'insieme.

Add(String, TypeCode, String)

Crea un oggetto Parameter con il nome specificato, TypeCode e un valore predefinito e lo aggiunge alla fine dell'insieme.

Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Contains(Parameter)

Stabilisce se la raccolta ParameterCollection contiene un valore specifico.

CopyTo(Array, Int32)

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

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

Copia un indice specificato di una matrice di parametri nell'insieme di parametri.

CreateKnownType(Int32)

Crea un'istanza di un oggetto Parameter predefinito.

Equals(Object)

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

(Ereditato da Object)
GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKnownTypes()

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

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValues(HttpContext, Control)

Ottiene un insieme ordinato dei nomi degli oggetti Parameter e dei valori corrispondenti attualmente contenuti nell'insieme.

IndexOf(Parameter)

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

Insert(Int32, Parameter)

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

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnClear()

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

(Ereditato da StateManagedCollection)
OnClearComplete()

Consente di eseguire processi personalizzati aggiuntivi dopo la cancellazione del contenuto dell'insieme.

OnInsert(Int32, Object)

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

OnInsertComplete(Int32, Object)

Si verifica dopo il completamento del metodo Insert(Int32, Parameter).

OnParametersChanged(EventArgs)

Genera l'evento ParametersChanged.

OnRemove(Int32, Object)

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

(Ereditato da StateManagedCollection)
OnRemoveComplete(Int32, Object)

Si verifica dopo il completamento del metodo Remove(Parameter).

OnValidate(Object)

Esegue processi personalizzati aggiuntivi durante la convalida di un valore.

Remove(Parameter)

Rimuove l'oggetto Parameter specificato dall'insieme ParameterCollection.

RemoveAt(Int32)

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

SetDirty()

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

(Ereditato da StateManagedCollection)
SetDirtyObject(Object)

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

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UpdateValues(HttpContext, Control)

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

Eventi

ParametersChanged

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

Implementazioni dell'interfaccia esplicita

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
ICollection.IsSynchronized

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

(Ereditato da StateManagedCollection)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta StateManagedCollection. Questo metodo restituisce null in tutti i casi.

(Ereditato da StateManagedCollection)
IEnumerable.GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Add(Object)

Aggiunge un elemento alla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Contains(Object)

Stabilisce se la raccolta StateManagedCollection contiene un valore specifico.

(Ereditato da StateManagedCollection)
IList.IndexOf(Object)

Determina l'indice di un elemento specificato nella raccolta StateManagedCollection.

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

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

(Ereditato da StateManagedCollection)
IList.IsFixedSize

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

(Ereditato da StateManagedCollection)
IList.IsReadOnly

Ottiene un valore che indica se la raccolta 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 dalla raccolta 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 raccolta StateManagedCollection salva le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da StateManagedCollection)
IStateManager.LoadViewState(Object)

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

(Ereditato da StateManagedCollection)
IStateManager.SaveViewState()

Salva le modifiche apportate alla raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto dal momento in cui è stato eseguito il postback della pagina nel server.

(Ereditato da StateManagedCollection)
IStateManager.TrackViewState()

Fa in modo che la raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto tenga traccia delle modifiche apportate al rispettivo stato di visualizzazione, in modo da consentirne il mantenimento nelle diverse richieste per la stessa pagina.

(Ereditato da StateManagedCollection)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche