Compartir vía


FormParameter Clase

Definición

Enlaza el valor de un campo Form de solicitud HTTP a un objeto de parámetro.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo insertar datos en una base de datos mediante el SqlDataSource control y una página web de ASP.NET simple. Los datos actuales de la tabla de datos se muestran en el DropDownList control . Puede agregar nuevos registros escribiendo valores en los TextBox controles y haciendo clic en el botón . Cuando se hace clic en el botón, se insertan los valores especificados en la base de datos y DropDownList se actualiza .

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

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

Comentarios

Puede usar la FormParameter clase para enlazar el valor de una variable de formulario de la Form colección a un parámetro usado en una consulta o comando con parámetros. Los controles que enlazan datos al parámetro pueden producir una excepción si se especifica un FormParameter , pero no se pasa ninguna variable de formulario correspondiente. También pueden mostrar ningún dato si la variable de formulario se pasa sin ningún valor correspondiente. Establezca para DefaultValue evitar estas situaciones cuando corresponda.

La FormParameter clase proporciona la FormField propiedad , que identifica el nombre de la variable de formulario a la que se va a enlazar, además de los heredados de la Parameter clase .

Importante

FormParameter no valida el valor pasado por el elemento de formulario de ninguna manera; usa el valor sin formato. En la mayoría de los casos, puede validar el valor de antes de FormParameter que lo use un control de origen de datos controlando un evento, como el Selectingevento , Updating, Insertingo Deleting expuesto por el control de origen de datos que está usando. Si el valor del parámetro no supera las pruebas de validación, puede cancelar la operación de datos estableciendo la Cancel propiedad de la clase asociada CancelEventArgs en true.

Constructores

FormParameter()

Inicializa una nueva instancia sin nombre de la clase FormParameter.

FormParameter(FormParameter)

Inicializa una nueva instancia de la clase FormParameter con los valores de la instancia que especifica el parámetro original.

FormParameter(String, DbType, String)

Inicializa una nueva instancia de la clase FormParameter, utilizando la cadena especificada para identificar a qué campo de variable de formulario se va a enlazar.

FormParameter(String, String)

Inicializa una nueva instancia con nombre de la clase FormParameter, utilizando la cadena especificada para identificar a qué campo de variable de formulario se va a enlazar.

FormParameter(String, TypeCode, String)

Inicializa una nueva instancia fuertemente tipada de la clase FormParameter, utilizando la cadena especificada para identificar a qué variable de formulario se va a enlazar.

Propiedades

ConvertEmptyStringToNull

Obtiene o establece un valor que indica si el valor al que está enlazado el objeto Parameter debe convertirse a null si es Empty.

(Heredado de Parameter)
DbType

Obtiene o establece el tipo de base de datos del parámetro.

(Heredado de Parameter)
DefaultValue

Especifica un valor predeterminado para el parámetro, si el valor al que está enlazado el parámetro no debe estar inicializado cuando se llame al método Evaluate(HttpContext, Control).

(Heredado de Parameter)
Direction

Indica si el objeto Parameter se utiliza para enlazar un valor a un control o si se puede utilizar el control para cambiar el valor.

(Heredado de Parameter)
FormField

Obtiene o establece el nombre de la variable de formulario a la que se enlaza el parámetro.

IsTrackingViewState

Obtiene un valor que indica si el objeto Parameter está guardando los cambios en su estado de vista.

(Heredado de Parameter)
Name

Obtiene o establece el nombre del parámetro.

(Heredado de Parameter)
Size

Obtiene o establece el tamaño del parámetro.

(Heredado de Parameter)
Type

Obtiene o establece el tipo de parámetro.

(Heredado de Parameter)
ValidateInput

Obtiene o establece un valor que indica si la entrada del cliente en el parámetro se valida.

ViewState

Obtiene un diccionario con información de estado que permite guardar y restaurar el estado de vista de un objeto Parameter en las distintas solicitudes de la misma página.

(Heredado de Parameter)

Métodos

Clone()

Devuelve un duplicado de la instancia FormParameter actual.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Evaluate(HttpContext, Control)

Actualiza y devuelve el valor del objeto FormParameter.

GetDatabaseType()

Obtiene el valor DbType que es equivalente al tipo CLR de la instancia Parameter actual.

(Heredado de Parameter)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de Parameter)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnParameterChanged()

Llama al método OnParametersChanged(EventArgs) de la colección ParameterCollection que contiene el objeto Parameter.

(Heredado de Parameter)
SaveViewState()

Guarda los cambios realizados en el estado de la vista del objeto Parameter desde el momento en que se devolvió la página al servidor.

(Heredado de Parameter)
SetDirty()

Marca el objeto Parameter para que su estado se registre en el estado de vista.

(Heredado de Parameter)
ToString()

Convierte el valor de esta instancia en la representación de cadena equivalente.

(Heredado de Parameter)
TrackViewState()

Hace que el objeto Parameter realice el seguimiento de los cambios en su estado de vista, de modo que puedan almacenarse en el objeto ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de Parameter)

Implementaciones de interfaz explícitas

ICloneable.Clone()

Devuelve un duplicado de la instancia Parameter actual.

(Heredado de Parameter)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si el objeto Parameter está guardando los cambios en su estado de vista.

(Heredado de Parameter)
IStateManager.LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de Parameter)
IStateManager.SaveViewState()

Guarda los cambios realizados en el estado de la vista del objeto Parameter desde el momento en que se devolvió la página al servidor.

(Heredado de Parameter)
IStateManager.TrackViewState()

Hace que el objeto Parameter realice el seguimiento de los cambios en su estado de vista, de modo que puedan almacenarse en el objeto ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de Parameter)

Se aplica a

Consulte también