ParameterCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare un AccessDataSource controllo e un oggetto FormParameter 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
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 Parameter oggetti utilizzati in scenari avanzati di 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 origine dati durante il recupero, l'aggiornamento, l'eliminazione e l'inserimento di 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, utilizzare uno dei metodi seguenti:
Usare l'indicizzatore per ottenere un singolo Parameter oggetto dalla raccolta, 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 , Insert, Removee 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 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 utilizzate. 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, ovvero 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 attacchi tramite script.
Nella tabella seguente sono elencate le diverse classi di parametri e le modalità di utilizzo.
Classe Parameter | Descrizione |
---|---|
Parameter | Classe del parametro di base. Usarlo per eseguire l'associazione 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 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 |
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 |
ICollection.SyncRoot |
Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta StateManagedCollection. Questo metodo restituisce |
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 |
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. |