Partilhar via


FormParameter Classe

Definição

Associa o valor de um campo de solicitação Form HTTP a um 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
Herança
FormParameter

Exemplos

O exemplo de código a seguir demonstra como inserir dados em um banco de dados usando o SqlDataSource controle e uma página da Web ASP.NET simples. Os dados atuais na tabela de dados são exibidos no DropDownList controle. Você pode adicionar novos registros inserindo valores nos TextBox controles e clicando no botão. Quando o botão é clicado, os valores especificados são inseridos no banco de dados e atualizados DropDownList .

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma potencial ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos de script ou HTML. Para obter mais informações, consulte Visão geral das Explorações 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>

Comentários

Você pode usar a FormParameter classe para associar o valor de uma variável de formulário na coleção a Form um parâmetro usado em uma consulta ou comando parametrizado. Controles que associam dados ao parâmetro podem gerar uma exceção se um FormParameter for especificado, mas nenhuma variável de formulário correspondente for passada. Eles também poderão exibir nenhum dado se a variável de formulário for passada sem nenhum valor correspondente. Defina para DefaultValue evitar essas situações quando apropriado.

A FormParameter classe fornece a FormField propriedade, que identifica o nome da variável de formulário a ser associada, além daquelas herdadas da Parameter classe.

Importante

O FormParameter valor passado pelo elemento de formulário não é validado; ele usa o valor bruto. Na maioria dos casos, você pode validar o valor do antes que FormParameter ele seja usado por um controle da fonte de dados manipulando um evento, como o Selecting, Updatingou DeletingInsertingevento exposto pelo controle da fonte de dados que você está usando. Se o valor do parâmetro não passar nos testes de validação, você poderá cancelar a operação de dados definindo a Cancel propriedade da classe associada CancelEventArgs como true.

Construtores

Nome 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 cadeia de caracteres especificada para identificar a qual campo de variável de formulário será associado.

FormParameter(String, String)

Inicializa uma nova instância nomeada da FormParameter classe, usando a cadeia de caracteres especificada para identificar a qual campo de variável de formulário será associado.

FormParameter(String, TypeCode, String)

Inicializa uma nova instância nomeada e fortemente tipada da classe, usando a FormParameter cadeia de caracteres especificada para identificar a qual variável de formulário se associar.

Propriedades

Nome Description
ConvertEmptyStringToNull

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

(Herdado de Parameter)
DbType

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

(Herdado de Parameter)
DefaultValue

Especifica um valor padrão para o parâmetro, caso o valor que o parâmetro esteja associado seja 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 controle ou se o controle pode ser usado para alterar o valor.

(Herdado de Parameter)
FormField

Obtém ou define o nome da variável de formulário à qual o parâmetro se associa.

IsTrackingViewState

Obtém um valor que indica se o Parameter objeto está salvando alterações em seu estado de exibiçã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

Obtém ou define um valor que indica se a entrada do cliente no parâmetro é validada.

ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um Parameter objeto em várias solicitações para a mesma página.

(Herdado de Parameter)

Métodos

Nome Description
Clone()

Retorna uma duplicata da instância atual FormParameter .

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Evaluate(HttpContext, Control)

Atualiza e retorna 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 a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição da fonte de dados.

(Herdado de Parameter)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnParameterChanged()

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

(Herdado de Parameter)
SaveViewState()

Salva as alterações no Parameter estado de exibição do objeto desde o momento em que a página foi postada novamente no servidor.

(Herdado de Parameter)
SetDirty()

Marca o Parameter objeto para que seu estado seja registrado no estado de exibição.

(Herdado de Parameter)
ToString()

Converte o valor dessa instância em sua representação de cadeia de caracteres equivalente.

(Herdado de Parameter)
TrackViewState()

Faz com que o Parameter objeto acompanhe as alterações em seu estado de exibição para que elas possam ser armazenadas no objeto do ViewState controle e mantidas entre solicitações para a mesma página.

(Herdado de Parameter)

Implantações explícitas de interface

Nome Description
ICloneable.Clone()

Retorna uma duplicata da instância atual Parameter .

(Herdado de Parameter)
IStateManager.IsTrackingViewState

Obtém um valor que indica se o Parameter objeto está salvando alterações em seu estado de exibição.

(Herdado de Parameter)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição da fonte de dados.

(Herdado de Parameter)
IStateManager.SaveViewState()

Salva as alterações no Parameter estado de exibição do objeto desde o momento em que a página foi postada novamente no servidor.

(Herdado de Parameter)
IStateManager.TrackViewState()

Faz com que o Parameter objeto acompanhe as alterações em seu estado de exibição para que elas possam ser armazenadas no objeto do ViewState controle e mantidas entre solicitações para a mesma página.

(Herdado de Parameter)

Aplica-se a

Confira também