Exporter (0) Imprimer
Développer tout

FormParameter, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Lie la valeur d'un champ Form de demande HTTP à un objet Parameter.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public class FormParameter : Parameter
public class FormParameter extends Parameter
public class FormParameter extends Parameter

Vous pouvez utiliser la classe FormParameter pour lier la valeur d'une variable de formulaire dans la collection Form à un paramètre utilisé dans une requête ou une commande paramétrée. Contrôles permettant de lier des données à un paramètre susceptible de lever une exception si un FormParameter est spécifié mais qu'aucune variable de formulaire correspondante n'est passée. Ils peuvent également n'afficher aucune donnée si la variable de formulaire est passée sans valeur correspondante. Définissez le DefaultValue afin d'éviter ce type de situation, si approprié.

La classe FormParameter fournit la propriété FormField, qui identifie le nom de la variable de formulaire à lier, outre celles héritées de la classe Parameter.

RemarqueImportant :

Le FormParameter ne valide en aucun cas la valeur passée par l'élément de formulaire. Il utilise la valeur brute. Dans la plupart des cas, vous pouvez valider la valeur du FormParameter avant qu'il ne soit utilisé par un contrôle de source de données en gérant un événement, tel que l'événement Selecting, Updating, Inserting ou Deleting exposé par le contrôle de source de données utilisé. Si la valeur du paramètre ne répond pas aux exigences de vos tests de validation, vous pouvez annuler l'opération de données en définissant la propriété Cancel de la classe CancelEventArgs possédant la valeur true.

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

<%@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>
  <BODY>
    <FORM 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>

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

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

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

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

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

    </FORM>
  </BODY>
</HTML>

<%@Page  Language="VJ#" %>
<!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, System.EventArgs e)
    {
        SqlDataSource1.Insert();
    } //InsertShipper
</Script>
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;Connect Timeout=15"
        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>

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

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

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

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

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

    </FORM>
  </BODY>
</HTML>

System.Object
   System.Web.UI.WebControls.Parameter
    System.Web.UI.WebControls.FormParameter

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft