Partager via


FormParameter Classe

Définition

Lie la valeur d’un champ Form de requête HTTP à un objet de paramètre.

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
Héritage
FormParameter

Exemples

L’exemple de code suivant montre comment insérer des données dans une base de données à l’aide du SqlDataSource contrôle et d’une simple page Web ASP.NET. Les données actuelles de la table de données s’affichent dans le DropDownList contrôle. Vous pouvez ajouter de nouveaux enregistrements en entrant des valeurs dans les TextBox contrôles et en cliquant sur le bouton . Lorsque vous cliquez sur le bouton, les valeurs spécifiées sont insérées dans la base de données et le DropDownList est actualisé.

Important

Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques de 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>

Remarques

Vous pouvez utiliser la FormParameter classe pour lier la valeur d’une variable de formulaire dans la Form collection à un paramètre utilisé dans une requête ou une commande paramétrable. Les contrôles qui lient des données au paramètre peuvent lever une exception si un FormParameter est spécifié, mais qu’aucune variable de formulaire correspondante n’est transmise. Ils peuvent également n’afficher aucune donnée si la variable de formulaire est transmise sans valeur correspondante. Définissez le DefaultValue pour éviter ces situations le cas échéant.

La FormParameter classe fournit la FormField propriété, qui identifie le nom de la variable de formulaire à lier, en plus de ceux hérités de la Parameter classe.

Important

ne FormParameter valide en aucune façon la valeur transmise par l’élément form ; il utilise la valeur brute. Dans la plupart des cas, vous pouvez valider la valeur du FormParameter avant d’être utilisé par un contrôle de source de données en gérant un événement, tel que l’événement Selecting, Updating, Insertingou Deleting exposé par le contrôle de source de données que vous utilisez. Si la valeur du paramètre ne passe pas vos tests de validation, vous pouvez annuler l’opération de données en définissant la Cancel propriété de la classe associée CancelEventArgs sur true.

Constructeurs

FormParameter()

Initialise une nouvelle instance sans nom de la classe FormParameter.

FormParameter(FormParameter)

Initialise une nouvelle instance de la classe FormParameter avec les valeurs de l'instance spécifiée par le paramètre original.

FormParameter(String, DbType, String)

Initialise une nouvelle instance de la classe FormParameter, à l'aide de la chaîne spécifiée pour identifier le champ de la variable de formulaire à lier.

FormParameter(String, String)

Initialise une nouvelle instance nommée de la classe FormParameter, à l'aide de la chaîne spécifiée pour identifier le champ de la variable de formulaire à lier.

FormParameter(String, TypeCode, String)

Initialise une nouvelle instance nommée et fortement typée de la classe FormParameter, à l'aide de la chaîne spécifiée pour identifier la variable de formulaire à lier.

Propriétés

ConvertEmptyStringToNull

Obtient ou définit une valeur indiquant si la valeur à laquelle l'objet Parameter est lié doit être convertie en null si elle est Empty.

(Hérité de Parameter)
DbType

Obtient ou définit le type de base de données du paramètre.

(Hérité de Parameter)
DefaultValue

Spécifie une valeur par défaut pour le paramètre, à condition que la valeur à laquelle le paramètre est lié à ne soit pas initialisée lorsque la méthode Evaluate(HttpContext, Control) est appelée.

(Hérité de Parameter)
Direction

Indique si l'objet Parameter est utilisé pour lier une valeur à un contrôle ou si le contrôle peut être utilisé pour modifier la valeur.

(Hérité de Parameter)
FormField

Obtient ou définit le nom de la variable de formulaire liée au paramètre.

IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.

(Hérité de Parameter)
Name

Obtient ou définit le nom du paramètre.

(Hérité de Parameter)
Size

Obtient ou définit la taille du paramètre.

(Hérité de Parameter)
Type

Obtient ou définit le type du paramètre.

(Hérité de Parameter)
ValidateInput

Obtient ou définit une valeur qui indique si l'entrée cliente dans le paramètre est validée.

ViewState

Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un objet Parameter entre plusieurs demandes de la même page.

(Hérité de Parameter)

Méthodes

Clone()

Retourne un doublon de l'instance de FormParameter actuelle.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Evaluate(HttpContext, Control)

Met à jour et retourne la valeur de l'objet FormParameter.

GetDatabaseType()

Obtient la valeur DbType qui est équivalente au type CLR de l'instance Parameter actuelle.

(Hérité de Parameter)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.

(Hérité de Parameter)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnParameterChanged()

Appelle la méthode OnParametersChanged(EventArgs) de la collection ParameterCollection qui contient l'objet Parameter.

(Hérité de Parameter)
SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.

(Hérité de Parameter)
SetDirty()

Marque l'objet Parameter afin que son état soit enregistré dans l'état d'affichage.

(Hérité de Parameter)
ToString()

Convertit la valeur de cette instance en sa représentation sous forme de chaîne équivalente.

(Hérité de Parameter)
TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.

(Hérité de Parameter)

Implémentations d’interfaces explicites

ICloneable.Clone()

Retourne un doublon de l'instance de Parameter actuelle.

(Hérité de Parameter)
IStateManager.IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.

(Hérité de Parameter)
IStateManager.LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.

(Hérité de Parameter)
IStateManager.SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.

(Hérité de Parameter)
IStateManager.TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.

(Hérité de Parameter)

S’applique à

Voir aussi