Partilhar via


ParameterCollection Classe

Definição

Representa uma coleção de objetos derivados de Parameter e Parameter usados por controles de fonte de dados em cenários de associação de dados avançados.

public ref class ParameterCollection : System::Web::UI::StateManagedCollection
public class ParameterCollection : System.Web.UI.StateManagedCollection
type ParameterCollection = class
    inherit StateManagedCollection
Public Class ParameterCollection
Inherits StateManagedCollection
Herança
ParameterCollection

Exemplos

O exemplo de código a seguir demonstra como usar um AccessDataSource controle e um FormParameter para exibir informações de um banco de dados do Microsoft Access em um GridView controle . O FormParameter objeto é adicionado à SelectParameters coleção usando o Add método .

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">

void Page_Load(Object sender, EventArgs e){

  // You can add a FormParameter to the AccessDataSource control's
  // SelectParameters collection programmatically.
  AccessDataSource1.SelectParameters.Clear();

  // Security Note: The AccessDataSource uses a FormParameter,
  // Security Note: which does not perform validation of input from the client.
  // Security Note: To validate the value of the FormParameter,
  // Security Note: handle the Selecting event.

  FormParameter formParam = new FormParameter("lastname","LastNameBox");
  formParam.Type=TypeCode.String;
  AccessDataSource1.SelectParameters.Add(formParam);
}

</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:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataSet"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
                         FROM Orders WHERE EmployeeID =
                         (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
      </asp:accessdatasource>

      <br />Enter the name "Davolio" or "King" in the text box and click the button.

      <br />
      <asp:textbox
        id="LastNameBox"
        runat="server" />

      <br />
      <asp:button
        id="Button1"
        runat="server"
        text="Get Records" />

      <br />
      <asp:gridview
          id="GridView1"
          runat="server"
          allowsorting="True"
          datasourceid="AccessDataSource1">
      </asp:gridview>

    </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 Page_Load(sender As Object, e As EventArgs)

  ' You can add a FormParameter to the AccessDataSource control's
  ' SelectParameters collection programmatically.
  AccessDataSource1.SelectParameters.Clear()

  ' Security Note: The AccessDataSource uses a FormParameter,
  ' Security Note: which does not perform validation of input from the client.
  ' Security Note: To validate the value of the FormParameter,
  ' Security Note: handle the Selecting event.

  Dim formParam As New FormParameter("lastname","LastNameBox")
  formParam.Type=TypeCode.String
  AccessDataSource1.SelectParameters.Add(formParam)
End Sub ' Page_Load

</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:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataSet"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
                         FROM Orders WHERE EmployeeID =
                         (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
      </asp:accessdatasource>

      <br />Enter the name "Davolio" or "King" in the text box and click the button.

      <br />
      <asp:textbox
        id="LastNameBox"
        runat="server" />

      <br />
      <asp:button
        id="Button1"
        runat="server"
        text="Get Records" />

      <br />
      <asp:gridview
          id="GridView1"
          runat="server"
          allowsorting="True"
          datasourceid="AccessDataSource1">
      </asp:gridview>

    </form>
  </body>
</html>

Comentários

A ParameterCollection classe representa uma coleção de Parameter objetos usados em cenários avançados de associação de dados com controles de fonte de dados. Os Parameter objetos são usados para associar os valores contidos por variáveis locais Page , cookies HTTP, variáveis de sessão e valores de outros controles a controles de fonte de dados ao recuperar, atualizar, excluir e inserir dados.

Use a ParameterCollection classe para gerenciar programaticamente um conjunto de Parameter objetos. Você pode adicionar, inserir e remover Parameter objetos usando os métodos apropriados da ParameterCollection classe . Para recuperar Parameter programaticamente objetos de uma coleção, use um dos seguintes métodos:

A Count propriedade especifica o número total de itens na coleção e é usada para determinar o limite superior da coleção. Você pode adicionar e remover itens da coleção usando os Addmétodos , Insert, Removee RemoveAt .

Dependendo da implementação e da semântica de um determinado controle da fonte de dados, a ordem na qual os parâmetros são armazenados na ParameterCollection coleção pode ser importante. Por exemplo, ao usar o SqlDataSource controle como uma fonte de dados ODBC, a ordem dos Parameter objetos na ParameterCollection coleção deve ser igual à ordem dos parâmetros nas consultas SQL parametrizadas que você usa. No entanto, ao usar o controle com o SqlDataSource Microsoft SQL Server, a ordem dos Parameter objetos não é importante.

Importante

Quando você usa controles de fonte de dados, os valores são inseridos em parâmetros de comando sem validação, o que é uma possível ameaça à segurança. Use um evento no controle da fonte de dados para validar valores de parâmetro antes que o comando seja executado. Para obter mais informações, consulte Visão geral de explorações de script.

A tabela a seguir lista as diferentes classes de parâmetro e como elas são usadas.

Classe Parameter Descrição
Parameter A classe de parâmetro base. Use-a para associar a uma variável local ou qualquer cadeia de caracteres estática usando a DefaultValue propriedade .
ControlParameter Um parâmetro que pode ser usado para associar à propriedade ou ao valor retornado do método de um controle.
CookieParameter Um parâmetro que pode ser usado para associar ao valor de um cookie.
FormParameter Um parâmetro que pode ser usado para associar a um atributo da página atual do Web Forms.
QueryStringParameter Um parâmetro que pode ser usado para associar a um valor passado para uma página do Web Forms em uma cadeia de caracteres de consulta.
SessionParameter Um parâmetro que pode ser usado para associar ao valor de uma variável de sessão.
ProfileParameter Um parâmetro que pode ser usado para associar ao valor de uma propriedade ASP.NET Profile.

Construtores

ParameterCollection()

Inicializa a classe para uso por uma instância de classe herdada. Esse construtor pode ser chamado apenas por uma classe herdada.

Propriedades

Count

Obtém o número de elementos contidos na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
Item[Int32]

Obtém ou define o objeto Parameter no índice especificado na coleção.

Item[String]

Obtém ou define o objeto Parameter com o nome especificado na coleção.

Métodos

Add(Parameter)

Acrescenta o objeto Parameter especificado ao final da coleção.

Add(String, DbType, String)

Cria um objeto Parameter com o nome especificado, tipo de banco de dados e valor padrão e o adiciona ao final da coleção.

Add(String, String)

Cria um objeto Parameter com o nome especificado e o valor padrão e anexa-o ao final da coleção.

Add(String, TypeCode, String)

Cria um objeto Parameter com o nome especificado, TypeCode e valor padrão e o acrescenta ao final da coleção.

Clear()

Remove todos os itens da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
Contains(Parameter)

Determina se a coleção ParameterCollection contém um valor específico.

CopyTo(Array, Int32)

Copia os elementos da coleção StateManagedCollection para uma matriz, começando em um índice de matriz específico.

(Herdado de StateManagedCollection)
CopyTo(Parameter[], Int32)

Copia um índice especificado de uma matriz de parâmetros para a coleção de parâmetros.

CreateKnownType(Int32)

Cria uma instância de um objeto Parameter padrão.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um iterador que itera por meio da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetKnownTypes()

Obtém uma matriz de tipos Parameter que a coleção ParameterCollection pode conter.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValues(HttpContext, Control)

Obtém uma coleção ordenada de nomes de objetos Parameter e seus valores correspondentes contidos atualmente na coleção.

IndexOf(Parameter)

Determina o índice de um objeto Parameter especificado na coleção ParameterCollection.

Insert(Int32, Parameter)

Insere o objeto Parameter especificado na coleção ParameterCollection no índice especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnClear()

Quando substituído em uma classe derivada, executa o trabalho adicional antes do método Clear() remover todos os itens da coleção.

(Herdado de StateManagedCollection)
OnClearComplete()

Executa processos personalizados adicionais depois de limpar o conteúdo da coleção.

OnInsert(Int32, Object)

Ocorre antes que o método Insert(Int32, Parameter) seja chamado.

OnInsertComplete(Int32, Object)

Ocorre depois que o método Insert(Int32, Parameter) é concluído.

OnParametersChanged(EventArgs)

Aciona o evento ParametersChanged.

OnRemove(Int32, Object)

Quando substituído em uma classe derivada, executa o trabalho adicional antes do método IList.Remove(Object) ou IList.RemoveAt(Int32) remover o item especificado da coleção.

(Herdado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Ocorre depois que o método Remove(Parameter) é concluído.

OnValidate(Object)

Executa processos personalizados adicionais ao validar um valor.

Remove(Parameter)

Remove o objeto Parameter especificado da coleção ParameterCollection.

RemoveAt(Int32)

Remove o objeto Parameter no índice especificado da coleção ParameterCollection.

SetDirty()

Força a coleção StateManagedCollection inteira a ser serializada no estado de exibição.

(Herdado de StateManagedCollection)
SetDirtyObject(Object)

Marca o objeto Parameter especificado como alterado desde o último carregamento ou salvamento do estado de exibição.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UpdateValues(HttpContext, Control)

Itera nos objetos Parameter contidos na coleção e chama o método Evaluate em cada um deles.

Eventos

ParametersChanged

Ocorre quando um ou mais objetos Parameter contidos na coleção muda de estado.

Implantações explícitas de interface

ICollection.Count

Obtém o número de elementos contidos na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
ICollection.IsSynchronized

Obtém um valor que indica se a coleção StateManagedCollection é sincronizada (thread-safe). Este método retorna false em todos os casos.

(Herdado de StateManagedCollection)
ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção StateManagedCollection. Este método retorna null em todos os casos.

(Herdado de StateManagedCollection)
IEnumerable.GetEnumerator()

Retorna um iterador que itera por meio da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Add(Object)

Adiciona um item à coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Clear()

Remove todos os itens da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Contains(Object)

Determina se a coleção StateManagedCollection contém um valor específico.

(Herdado de StateManagedCollection)
IList.IndexOf(Object)

Determina o índice de um item especificado na coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.Insert(Int32, Object)

Insere um item na coleção StateManagedCollection no índice especificado.

(Herdado de StateManagedCollection)
IList.IsFixedSize

Obtém um valor que indica se a coleção StateManagedCollection tem um tamanho fixo. Este método retorna false em todos os casos.

(Herdado de StateManagedCollection)
IList.IsReadOnly

Obtém um valor que indica se a coleção StateManagedCollection é somente leitura.

(Herdado de StateManagedCollection)
IList.Item[Int32]

Obtém o elemento IStateManager no índice especificado.

(Herdado de StateManagedCollection)
IList.Remove(Object)

Remove a primeira ocorrência do objeto especificado da coleção StateManagedCollection.

(Herdado de StateManagedCollection)
IList.RemoveAt(Int32)

Remove o elemento IStateManager no índice especificado.

(Herdado de StateManagedCollection)
IStateManager.IsTrackingViewState

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

(Herdado de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da coleção StateManagedCollection e o itens IStateManager que ele contém.

(Herdado de StateManagedCollection)
IStateManager.SaveViewState()

Salva as alterações na coleção StateManagedCollection e cada objeto IStateManager que ela contém, desde o momento em que a página foi postada novamente no servidor.

(Herdado de StateManagedCollection)
IStateManager.TrackViewState()

Faz com que a coleção StateManagedCollection e os objetos IStateManager que ela contém controlem as alterações realizadas no estado de exibição, para que elas possam ser mantidas em todas as solicitações para a mesma página.

(Herdado de StateManagedCollection)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também