FormParameter Klass

Definition

Binder värdet för ett HTTP-begärandefält Form till ett parameterobjekt.

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
Arv
FormParameter

Exempel

Följande kodexempel visar hur du infogar data i en databas med hjälp av kontrollen SqlDataSource och en enkel ASP.NET webbsida. Aktuella data i datatabellen visas i DropDownList kontrollen. Du kan lägga till nya poster genom att ange värden i TextBox kontrollerna och klicka på knappen. När knappen klickas infogas de angivna värdena i databasen och DropDownList uppdateras.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

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

Kommentarer

Du kan använda FormParameter klassen för att binda värdet för en formulärvariabel i Form samlingen till en parameter som används i en parametriserad fråga eller ett kommando. Kontroller som binder data till parametern kan utlösa ett undantag om en FormParameter anges men ingen motsvarande formulärvariabel skickas. De kan också visa inga data om formulärvariabeln skickas utan motsvarande värde. DefaultValue Ange för att undvika dessa situationer när det är lämpligt.

Klassen FormParameter tillhandahåller FormField egenskapen, som identifierar namnet på formulärvariabeln som ska bindas till, utöver de som ärvts från Parameter klassen.

Important

FormParameter Validerar inte det värde som skickas av formulärelementet på något sätt. Det använder råvärdet. I de flesta fall kan du verifiera värdet FormParameter för innan det används av en datakällkontroll genom att hantera en händelse, till exempel händelsen Selecting, Updating, Insertingeller Deleting som exponeras av den datakällkontroll som du använder. Om värdet för parametern inte klarar valideringstesterna kan du avbryta dataåtgärden genom att ange Cancel egenskapen för den associerade CancelEventArgs klassen till true.

Konstruktorer

Name Description
FormParameter()

Initierar en ny namnlös instans av FormParameter klassen.

FormParameter(FormParameter)

Initierar en ny instans av FormParameter klassen med värdena för den instans som anges av parametern original .

FormParameter(String, DbType, String)

Initierar en ny instans av klassen med hjälp av FormParameter den angivna strängen för att identifiera vilket formulärvariabelfält som ska bindas till.

FormParameter(String, String)

Initierar en ny namngiven FormParameter instans av klassen med hjälp av den angivna strängen för att identifiera vilket formulärvariabelfält som ska bindas till.

FormParameter(String, TypeCode, String)

Initierar en ny namngiven FormParameter och starkt typinstans av klassen med hjälp av den angivna strängen för att identifiera vilken formulärvariabel som ska bindas till.

Egenskaper

Name Description
ConvertEmptyStringToNull

Hämtar eller anger ett värde som anger om värdet som objektet är bundet Parameter till ska konverteras till null om det är Empty.

(Ärvd från Parameter)
DbType

Hämtar eller anger parameterns databastyp.

(Ärvd från Parameter)
DefaultValue

Anger ett standardvärde för parametern om värdet som parametern är bunden till är onitialiserat när Evaluate(HttpContext, Control) metoden anropas.

(Ärvd från Parameter)
Direction

Anger om objektet Parameter används för att binda ett värde till en kontroll eller om kontrollen kan användas för att ändra värdet.

(Ärvd från Parameter)
FormField

Hämtar eller anger namnet på den formulärvariabel som parametern binder till.

IsTrackingViewState

Hämtar ett värde som anger om Parameter objektet sparar ändringar i visningstillståndet.

(Ärvd från Parameter)
Name

Hämtar eller anger namnet på parametern.

(Ärvd från Parameter)
Size

Hämtar eller anger parameterns storlek.

(Ärvd från Parameter)
Type

Hämtar eller anger parametertypen.

(Ärvd från Parameter)
ValidateInput

Hämtar eller anger ett värde som anger om klientindata i parametern verifieras.

ViewState

Hämtar en ordlista med tillståndsinformation som gör att du kan spara och återställa visningstillståndet för ett Parameter objekt över flera begäranden för samma sida.

(Ärvd från Parameter)

Metoder

Name Description
Clone()

Returnerar en dubblett av den aktuella FormParameter instansen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Evaluate(HttpContext, Control)

Uppdaterar och returnerar objektets FormParameter värde.

GetDatabaseType()

Hämtar värdet DbType som motsvarar CLR-typen för den aktuella Parameter instansen.

(Ärvd från Parameter)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
LoadViewState(Object)

Återställer datakällans tidigare sparade vytillstånd.

(Ärvd från Parameter)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnParameterChanged()

Anropar metoden för OnParametersChanged(EventArgs) samlingen ParameterCollection som innehåller Parameter objektet.

(Ärvd från Parameter)
SaveViewState()

Sparar ändringarna i Parameter objektets visningstillstånd sedan den tid då sidan publicerades tillbaka till servern.

(Ärvd från Parameter)
SetDirty()

Parameter Markerar objektet så att dess tillstånd registreras i visningstillstånd.

(Ärvd från Parameter)
ToString()

Konverterar värdet för den här instansen till motsvarande strängrepresentation.

(Ärvd från Parameter)
TrackViewState()

Parameter Gör att objektet spårar ändringar i dess visningstillstånd så att de kan lagras i kontrollens ViewState objekt och sparas mellan begäranden för samma sida.

(Ärvd från Parameter)

Explicita gränssnittsimplementeringar

Name Description
ICloneable.Clone()

Returnerar en dubblett av den aktuella Parameter instansen.

(Ärvd från Parameter)
IStateManager.IsTrackingViewState

Hämtar ett värde som anger om Parameter objektet sparar ändringar i visningstillståndet.

(Ärvd från Parameter)
IStateManager.LoadViewState(Object)

Återställer datakällans tidigare sparade vytillstånd.

(Ärvd från Parameter)
IStateManager.SaveViewState()

Sparar ändringarna i Parameter objektets visningstillstånd sedan den tid då sidan publicerades tillbaka till servern.

(Ärvd från Parameter)
IStateManager.TrackViewState()

Parameter Gör att objektet spårar ändringar i dess visningstillstånd så att de kan lagras i kontrollens ViewState objekt och sparas mellan begäranden för samma sida.

(Ärvd från Parameter)

Gäller för

Se även