FormParameter Classe

Definizione

Associa il valore di un campo Form di una richiesta HTTP a un oggetto Parameter.

public ref class FormParameter : System::Web::UI::WebControls::Parameter
public class FormParameter : System.Web.UI.WebControls.Parameter
type FormParameter = class
    inherit Parameter
Public Class FormParameter
Inherits Parameter
Ereditarietà
FormParameter

Esempio

Nell'esempio di codice seguente viene illustrato come inserire dati in un database usando il SqlDataSource controllo e una semplice pagina Web ASP.NET. I dati correnti nella tabella dati vengono visualizzati nel DropDownList controllo. È possibile aggiungere nuovi record immettendo i valori nei TextBox controlli e facendo clic sul pulsante. Quando si fa clic sul pulsante, i valori specificati vengono inseriti nel database e l'oggetto DropDownList viene aggiornato.

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">
private void InsertShipper (object source, EventArgs e) {
  SqlDataSource1.Insert();
}
</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:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </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 InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</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:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </form>
  </body>
</html>

Commenti

È possibile usare la FormParameter classe per associare il valore di una variabile di modulo nella Form raccolta a un parametro usato in una query o un comando con parametri. I controlli che associano i dati al parametro potrebbero generare un'eccezione se viene specificata una FormParameter variabile di modulo, ma non viene passata alcuna variabile di modulo corrispondente. Potrebbero anche non visualizzare dati se la variabile di modulo viene passata senza alcun valore corrispondente. Impostare l'oggetto DefaultValue per evitare queste situazioni, se appropriato.

La FormParameter classe fornisce la FormField proprietà, che identifica il nome della variabile di modulo da associare, oltre a quelli ereditati dalla Parameter classe.

Importante

Il FormParameter valore non convalida il valore passato dall'elemento form in alcun modo; usa il valore non elaborato. Nella maggior parte dei casi è possibile convalidare il valore di prima che FormParameter venga usato da un controllo origine dati gestendo un evento, ad esempio Selecting, Updating, Insertingo Deleting evento esposto dal controllo origine dati in uso. Se il valore del parametro non supera i test di convalida, è possibile annullare l'operazione di dati impostando la Cancel proprietà della classe associata CancelEventArgs su true.

Costruttori

FormParameter()

Inizializza una nuova istanza senza nome della classe FormParameter.

FormParameter(FormParameter)

Inizializza una nuova istanza della classe FormParameter con i valori dell'istanza specificata dal parametro original.

FormParameter(String, DbType, String)

Inizializza una nuova istanza della classe FormParameter, utilizzando la stringa specificata per identificare il campo della variabile di form per l'associazione.

FormParameter(String, String)

Inizializza una nuova istanza denominata della classe FormParameter, utilizzando la stringa specificata per identificare il campo della variabile di form per l'associazione.

FormParameter(String, TypeCode, String)

Inizializza una nuova istanza denominata e fortemente tipizzata della classe FormParameter, utilizzando la stringa specificata per identificare la variabile di form per l'associazione.

Proprietà

ConvertEmptyStringToNull

Ottiene o imposta un valore indicante se il valore a cui è associato l'oggetto Parameter deve essere convertito in null se è Empty.

(Ereditato da Parameter)
DbType

Ottiene o imposta il tipo di database del parametro.

(Ereditato da Parameter)
DefaultValue

Specifica un valore predefinito per il parametro, se il valore associato al parametro non deve essere inizializzato quando viene chiamato il metodo Evaluate(HttpContext, Control).

(Ereditato da Parameter)
Direction

Indica se l'oggetto Parameter viene utilizzato per associare un valore a un controllo oppure il controllo può essere utilizzato per la modifica del valore.

(Ereditato da Parameter)
FormField

Ottiene o imposta il nome della variabile di form a cui si associa il parametro.

IsTrackingViewState

Ottiene un valore che indica se l'oggetto Parameter sta salvando le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da Parameter)
Name

Ottiene o imposta il nome del parametro.

(Ereditato da Parameter)
Size

Ottiene o imposta le dimensioni del parametro.

(Ereditato da Parameter)
Type

Ottiene o imposta il tipo del parametro.

(Ereditato da Parameter)
ValidateInput

Ottiene o imposta un valore che indica se l'input del client nel parametro viene convalidato.

ViewState

Ottiene un dizionario di informazioni sullo stato che consente di salvare e ripristinare lo stato di visualizzazione di un oggetto Parameter tra più richieste per la stessa pagina.

(Ereditato da Parameter)

Metodi

Clone()

Restituisce un duplicato dell'istanza FormParameter corrente.

Equals(Object)

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

(Ereditato da Object)
Evaluate(HttpContext, Control)

Viene aggiornato e restituisce il valore dell'oggetto FormParameter.

GetDatabaseType()

Ottiene il valore DbType che è equivalente al tipo CLR dell'istanza corrente di Parameter.

(Ereditato da Parameter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato della visualizzazione origine dati.

(Ereditato da Parameter)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnParameterChanged()

Chiame il metodo OnParametersChanged(EventArgs) dell'insieme ParameterCollection che contiene l'oggetto Parameter.

(Ereditato da Parameter)
SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione dell'oggetto Parameter dal momento in cui è stato eseguito il postback della pagina al server.

(Ereditato da Parameter)
SetDirty()

Contrassegna l'oggetto Parameter in modo che il relativo stato venga registrato in stato di visualizzazione.

(Ereditato da Parameter)
ToString()

Converte il valore dell'istanza corrente nell'equivalente rappresentazione di stringa.

(Ereditato da Parameter)
TrackViewState()

Mediante questo metodo l'oggetto Parameter tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che vengono memorizzate nell'oggetto ViewState del controllo e mantenute nelle richieste della stessa pagina.

(Ereditato da Parameter)

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

Restituisce un duplicato dell'istanza Parameter corrente.

(Ereditato da Parameter)
IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto Parameter sta salvando le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da Parameter)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato della visualizzazione origine dati.

(Ereditato da Parameter)
IStateManager.SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione dell'oggetto Parameter dal momento in cui è stato eseguito il postback della pagina al server.

(Ereditato da Parameter)
IStateManager.TrackViewState()

Mediante questo metodo l'oggetto Parameter tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che vengono memorizzate nell'oggetto ViewState del controllo e mantenute nelle richieste della stessa pagina.

(Ereditato da Parameter)

Si applica a

Vedi anche