FormParameter Classe

Definição

Vincula o valor de um campo de pedido Form HTTP a um objeto 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
Herança
FormParameter

Exemplos

O exemplo de código seguinte demonstra como inserir dados numa base de dados usando o controlo SqlDataSource e uma página web ASP.NET simples. Os dados atuais na tabela de dados são apresentados no DropDownList controlo. Pode adicionar novos registos introduzindo valores nos TextBox controlos e clicando no botão. Quando o botão é pressionado, os valores especificados são inseridos na base de dados e este DropDownList é atualizado.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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>

Observações

Pode usar a FormParameter classe para associar o valor de uma variável de forma na Form coleção a um parâmetro usado numa consulta ou comando parametrizado. Controlos que associam dados ao parâmetro podem lançar uma exceção se a FormParameter for especificado, mas nenhuma variável de forma correspondente for passada. Também podem não mostrar dados se a variável forma for passada sem valor correspondente. Defina o DefaultValue para evitar estas situações quando apropriado.

A FormParameter classe fornece a FormField propriedade que identifica o nome da variável forma a que se deve ligar, além das herdadas da Parameter classe.

Importante

O FormParameter não valida o valor passado pelo elemento forma de forma alguma; utiliza o valor bruto. Na maioria dos casos, pode validar o valor de antes FormParameter de ser usado por um controlo de fonte de dados ao lidar com um evento, como o Selecting, Updating, Inserting, ou Deleting o evento exposto pelo controlo de fonte de dados que está a usar. Se o valor do parâmetro não passar nos seus testes de validação, pode cancelar a operação de dados definindo a Cancel propriedade da classe associada CancelEventArgs para true.

Construtores

Name Description
FormParameter()

Inicializa uma nova instância sem nome da FormParameter classe.

FormParameter(FormParameter)

Inicializa uma nova instância da FormParameter classe com os valores da instância especificados pelo original parâmetro.

FormParameter(String, DbType, String)

Inicializa uma nova instância da FormParameter classe, usando a string especificada para identificar a que campo de variável de forma deve ser associado.

FormParameter(String, String)

Inicializa uma nova instância nomeada da FormParameter classe, usando a cadeia especificada para identificar a que campo de variável de forma deve ser associado.

FormParameter(String, TypeCode, String)

Inicializa uma nova instância nomeada e fortemente tipada da FormParameter classe, usando a string especificada para identificar a que variável de forma deve ser associada.

Propriedades

Name Description
ConvertEmptyStringToNull

Obtém ou define um valor que indica se o valor ao qual o Parameter objeto está ligado deve ser convertido se null for Empty.

(Herdado de Parameter)
DbType

Obtém ou define o tipo de base de dados do parâmetro.

(Herdado de Parameter)
DefaultValue

Especifica um valor por defeito para o parâmetro, caso o valor que o parâmetro está vinculado a ser não inicializado quando o Evaluate(HttpContext, Control) método for chamado.

(Herdado de Parameter)
Direction

Indica se o Parameter objeto é usado para associar um valor a um controlo, ou se o controlo pode ser usado para alterar o valor.

(Herdado de Parameter)
FormField

Recebe ou define o nome da variável forma à qual o parâmetro se liga.

IsTrackingViewState

Recebe um valor que indica se o Parameter objeto está a guardar alterações ao seu estado de visualização.

(Herdado de Parameter)
Name

Obtém ou define o nome do parâmetro.

(Herdado de Parameter)
Size

Obtém ou define o tamanho do parâmetro.

(Herdado de Parameter)
Type

Obtém ou define o tipo do parâmetro.

(Herdado de Parameter)
ValidateInput

Recebe ou define um valor que indica se a entrada do cliente no parâmetro está validada.

ViewState

Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um Parameter objeto através de múltiplos pedidos para a mesma página.

(Herdado de Parameter)

Métodos

Name Description
Clone()

Devolve um duplicado da instância atual FormParameter .

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Evaluate(HttpContext, Control)

Atualiza e devolve o valor do FormParameter objeto.

GetDatabaseType()

Obtém o DbType valor equivalente ao tipo CLR da instância atual Parameter .

(Herdado de Parameter)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Restaura o estado da vista de fonte de dados anteriormente guardada.

(Herdado de Parameter)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnParameterChanged()

Chama o OnParametersChanged(EventArgs) método da ParameterCollection coleção que contém o Parameter objeto.

(Herdado de Parameter)
SaveViewState()

Guarda as alterações ao estado de Parameter visualização do objeto desde o momento em que a página foi publicada de volta no servidor.

(Herdado de Parameter)
SetDirty()

Marca o Parameter objeto para que o seu estado fique registado no estado de visualização.

(Herdado de Parameter)
ToString()

Converte o valor desta instância para a sua representação equivalente da cadeia.

(Herdado de Parameter)
TrackViewState()

Faz com que o Parameter objeto acompanhe alterações ao seu estado de visualização para que possam ser armazenadas no objeto do ViewState controlo e persistidas entre pedidos para a mesma página.

(Herdado de Parameter)

Implementações de Interface Explícita

Name Description
ICloneable.Clone()

Devolve um duplicado da instância atual Parameter .

(Herdado de Parameter)
IStateManager.IsTrackingViewState

Recebe um valor que indica se o Parameter objeto está a guardar alterações ao seu estado de visualização.

(Herdado de Parameter)
IStateManager.LoadViewState(Object)

Restaura o estado da vista de fonte de dados anteriormente guardada.

(Herdado de Parameter)
IStateManager.SaveViewState()

Guarda as alterações ao estado de Parameter visualização do objeto desde o momento em que a página foi publicada de volta no servidor.

(Herdado de Parameter)
IStateManager.TrackViewState()

Faz com que o Parameter objeto acompanhe alterações ao seu estado de visualização para que possam ser armazenadas no objeto do ViewState controlo e persistidas entre pedidos para a mesma página.

(Herdado de Parameter)

Aplica-se a

Ver também