Condividi tramite


FormParameter Classe

Definizione

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

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

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">
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 in un comando con parametri. I controlli che associano dati al parametro possono generare un'eccezione se viene specificato un FormParameter oggetto , 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 per DefaultValue evitare queste situazioni, se appropriato.

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

Importante

Non FormParameter convalida il valore passato dall'elemento form in alcun modo, ma utilizza 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 l'evento Selecting, Updating, Insertingo Deleting 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

Nome Descrizione
FormParameter()

Inizializza una nuova istanza senza nome della FormParameter classe .

FormParameter(FormParameter)

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

FormParameter(String, DbType, String)

Inizializza una nuova istanza della FormParameter classe utilizzando la stringa specificata per identificare il campo della variabile di modulo a cui eseguire l'associazione.

FormParameter(String, String)

Inizializza una nuova istanza denominata della FormParameter classe utilizzando la stringa specificata per identificare il campo della variabile di modulo a cui eseguire l'associazione.

FormParameter(String, TypeCode, String)

Inizializza una nuova istanza denominata e fortemente tipizzata della FormParameter classe utilizzando la stringa specificata per identificare la variabile di modulo a cui eseguire l'associazione.

Proprietà

Nome Descrizione
ConvertEmptyStringToNull

Ottiene o imposta un valore che indica se il valore a cui è associato l'oggetto Parameter deve essere convertito null in 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 deve essere non inizializzato quando viene chiamato il Evaluate(HttpContext, Control) metodo .

(Ereditato da Parameter)
Direction

Indica se l'oggetto Parameter viene utilizzato per associare un valore a un controllo o se il controllo può essere utilizzato per modificare il valore.

(Ereditato da Parameter)
FormField

Ottiene o imposta il nome della variabile di modulo a cui il parametro è associato.

IsTrackingViewState

Ottiene un valore che indica se l'oggetto Parameter sta salvando le modifiche apportate allo 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 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 Parameter oggetto in più richieste per la stessa pagina.

(Ereditato da Parameter)

Metodi

Nome Descrizione
Clone()

Restituisce un duplicato dell'istanza corrente FormParameter .

Equals(Object)

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

(Ereditato da Object)
Evaluate(HttpContext, Control)

Aggiorna e restituisce il valore dell'oggetto FormParameter .

GetDatabaseType()

Ottiene il DbType valore equivalente al tipo CLR dell'istanza corrente 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 salvata in precedenza della vista origine dati.

(Ereditato da Parameter)
MemberwiseClone()

Crea una copia superficiale dell'oggetto corrente Object.

(Ereditato da Object)
OnParameterChanged()

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

(Ereditato da Parameter)
SaveViewState()

Salva le modifiche apportate allo Parameter stato di visualizzazione dell'oggetto dal momento in cui la pagina è stata pubblicata nel server.

(Ereditato da Parameter)
SetDirty()

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

(Ereditato da Parameter)
ToString()

Converte il valore di questa istanza nella rappresentazione di stringa equivalente.

(Ereditato da Parameter)
TrackViewState()

Fa in modo che l'oggetto Parameter possa tenere traccia delle modifiche apportate allo stato di visualizzazione in modo che possano essere archiviate nell'oggetto del ViewState controllo e mantenute tra le richieste per la stessa pagina.

(Ereditato da Parameter)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICloneable.Clone()

Restituisce un duplicato dell'istanza corrente Parameter .

(Ereditato da Parameter)
IStateManager.IsTrackingViewState

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

(Ereditato da Parameter)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione salvata in precedenza della vista origine dati.

(Ereditato da Parameter)
IStateManager.SaveViewState()

Salva le modifiche apportate allo Parameter stato di visualizzazione dell'oggetto dal momento in cui la pagina è stata pubblicata nel server.

(Ereditato da Parameter)
IStateManager.TrackViewState()

Fa in modo che l'oggetto Parameter possa tenere traccia delle modifiche apportate allo stato di visualizzazione in modo che possano essere archiviate nell'oggetto del ViewState controllo e mantenute tra le richieste per la stessa pagina.

(Ereditato da Parameter)

Si applica a

Vedi anche