FormParameter Classe

Definição

Associa o valor de um campo Form da solicitação 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 o DropDownList é atualizado.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos HTML ou script. Para obter mais informações, consulte Visão geral de 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 podem não exibir dados se a variável de formulário for passada sem nenhum valor correspondente. Defina o DefaultValue para 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 não valida o valor passado pelo elemento form de forma de forma alguma; ele usa o valor bruto. Na maioria dos casos, você pode validar o valor do antes de FormParameter ser usado por um controle de fonte de dados manipulando um evento, como o Selecting, Updating, Insertingou Deleting evento 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

FormParameter()

Inicializa uma nova instância não nomeada da classe FormParameter.

FormParameter(FormParameter)

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

FormParameter(String, DbType, String)

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

FormParameter(String, String)

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

FormParameter(String, TypeCode, String)

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

Propriedades

ConvertEmptyStringToNull

Obtém ou define um valor que indica se o valor ao qual o objeto Parameter está associado deverá ser convertido em null se ele 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 a que o parâmetro esteja associado não devesse ser inicializado quando o método Evaluate(HttpContext, Control) for chamado.

(Herdado de Parameter)
Direction

Indica se o objeto Parameter é usado para associar um valor a um controle ou 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 ao qual o parâmetro está associado.

IsTrackingViewState

Obtém um valor que indica se o objeto Parameter está salvando alterações no 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 foi validada.

ViewState

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

(Herdado de Parameter)

Métodos

Clone()

Retorna uma duplicata da instância de FormParameter atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Evaluate(HttpContext, Control)

Atualiza e retorna o valor do objeto FormParameter.

GetDatabaseType()

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

(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 de fonte de dados.

(Herdado de Parameter)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnParameterChanged()

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

(Herdado de Parameter)
SaveViewState()

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

(Herdado de Parameter)
SetDirty()

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

(Herdado de Parameter)
ToString()

Converte o valor dessa instância na representação da cadeia de caracteres equivalente.

(Herdado de Parameter)
TrackViewState()

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

(Herdado de Parameter)

Implantações explícitas de interface

ICloneable.Clone()

Retorna uma duplicata da instância de Parameter atual.

(Herdado de Parameter)
IStateManager.IsTrackingViewState

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

(Herdado de Parameter)
IStateManager.LoadViewState(Object)

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

(Herdado de Parameter)
IStateManager.SaveViewState()

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

(Herdado de Parameter)
IStateManager.TrackViewState()

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

(Herdado de Parameter)

Aplica-se a

Confira também