ParameterCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
Exemplos
O exemplo de código seguinte demonstra como usar um controlo AccessDataSource e um controlo FormParameter para exibir informação de uma base de dados Microsoft Access num controlo GridView. 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 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">
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>
Observações
A ParameterCollection classe representa uma coleção de Parameter objetos usados em cenários avançados de ligação de dados com controlos 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 outros controlos aos controlos de fonte de dados ao recuperar, atualizar, eliminar e inserir dados.
Use a ParameterCollection classe para gerir programaticamente um conjunto de Parameter objetos. Pode adicionar, inserir e remover Parameter objetos usando os métodos apropriados da ParameterCollection classe. Para recuperar Parameter objetos programaticamente de uma coleção, use um dos seguintes métodos:
Use o indexador para obter um único Parameter objeto da coleção, pelo nome ou usando notação de array.
Use o GetEnumerator método para criar um System.Collections.IEnumeratorobjeto -implementado, que depois pode ser usado para obter itens da coleção.
A Count propriedade especifica o número total de itens na coleção e é usada para determinar o limite superior da coleção. Pode adicionar e remover itens da coleção usando os Addmétodos , Insert, Remove, e RemoveAt .
Dependendo da implementação e da semântica de um determinado controlo de fonte de dados, a ordem em que os parâmetros são armazenados na ParameterCollection coleção pode ser importante. Por exemplo, ao usar o SqlDataSource controlo como fonte de dados ODBC, a ordem dos Parameter objetos na ParameterCollection coleção deve ser a mesma que a ordem dos parâmetros nas consultas SQL parametrizadas que utiliza. No entanto, ao usar o controlo SqlDataSource com Microsoft SQL Server, a ordem dos objetos Parameter não é importante.
Importante
Quando se usam controlos de fonte de dados, os valores são inseridos nos parâmetros de comando sem validação, o que constitui uma ameaça potencial à segurança. Use um evento no controlo de fonte de dados para validar os valores dos parâmetros antes da execução do comando. Para mais informações, consulte Visão Geral dos Exploits de Scripts.
A tabela seguinte lista as diferentes classes de parâmetros e como são utilizadas.
| Classe de parâmetros | Description |
|---|---|
| Parameter | A classe de parâmetros base. Use-o para ligar a uma variável local ou a qualquer cadeia estática usando essa DefaultValue propriedade. |
| ControlParameter | Um parâmetro que pode ser usado para ligar ao valor de retorno de uma propriedade ou método de um controlo. |
| CookieParameter | Um parâmetro que pode ser usado para se ligar ao valor de um cookie. |
| FormParameter | Um parâmetro que pode ser usado para ligar a um atributo da página atual do Web Forms. |
| QueryStringParameter | Um parâmetro que pode ser usado para ligar a um valor passado a uma página Web Forms numa cadeia de consulta. |
| SessionParameter | Um parâmetro que pode ser usado para ligar ao valor de uma variável de sessão. |
| ProfileParameter | Um parâmetro que pode ser usado para se ligar ao valor de uma propriedade do Perfil ASP.NET. |
Construtores
| Name | Description |
|---|---|
| ParameterCollection() |
Inicializa a classe para uso por uma instância de classe herdada. Este construtor só pode ser chamado por uma classe herdada. |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Item[Int32] |
Obtém ou define o Parameter objeto no índice especificado na coleção. |
| Item[String] |
Obtém ou define o Parameter objeto com o nome especificado na coleção. |
Métodos
| Name | Description |
|---|---|
| Add(Parameter) |
Acrescenta o objeto especificado Parameter ao final da coleção. |
| Add(String, DbType, String) |
Cria um Parameter objeto com o nome especificado, tipo de base de dados e valor predefinido, e adiciona-o ao final da coleção. |
| Add(String, String) |
Cria um Parameter objeto com o nome e valor padrão especificados, e adiciona-o ao final da coleção. |
| Add(String, TypeCode, String) |
Cria um Parameter objeto com o nome especificado, TypeCode, e valor predefinido, e adiciona-o ao final da coleção. |
| Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Contains(Parameter) |
Determina se a ParameterCollection coleção contém um valor específico. |
| CopyTo(Array, Int32) |
Copia os elementos da StateManagedCollection coleção para um array, começando num índice particular do array. (Herdado de StateManagedCollection) |
| CopyTo(Parameter[], Int32) |
Copia um índice especificado de um array de parâmetros para a coleção de parâmetros. |
| CreateKnownType(Int32) |
Cria uma instância de um objeto por defeito Parameter . |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetKnownTypes() |
Obtém uma variedade de Parameter tipos que a ParameterCollection coleção pode conter. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetValues(HttpContext, Control) |
Obtém uma coleção ordenada dos Parameter nomes dos objetos e dos respetivos valores atualmente contidos pela coleção. |
| IndexOf(Parameter) |
Determina o índice de um objeto especificado Parameter na ParameterCollection coleção. |
| Insert(Int32, Parameter) |
Insere o objeto especificado Parameter na ParameterCollection coleção no índice especificado. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnClear() |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o Clear() método remover todos os itens da coleção. (Herdado de StateManagedCollection) |
| OnClearComplete() |
Realiza processos personalizados adicionais após limpar o conteúdo da coleção. |
| OnInsert(Int32, Object) |
Ocorre antes de o Insert(Int32, Parameter) método ser chamado. |
| OnInsertComplete(Int32, Object) |
Ocorre após a conclusão do Insert(Int32, Parameter) método. |
| OnParametersChanged(EventArgs) |
Eleva o ParametersChanged evento. |
| OnRemove(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o IList.Remove(Object) método ou IList.RemoveAt(Int32) remover o item especificado da coleção. (Herdado de StateManagedCollection) |
| OnRemoveComplete(Int32, Object) |
Ocorre após a conclusão do Remove(Parameter) método. |
| OnValidate(Object) |
Realiza processos personalizados adicionais ao validar um valor. |
| Remove(Parameter) |
Remove o objeto especificado Parameter da ParameterCollection coleção. |
| RemoveAt(Int32) |
Remove o Parameter objeto no índice especificado da ParameterCollection coleção. |
| SetDirty() |
Força toda a StateManagedCollection coleção a ser serializada no estado de visualização. (Herdado de StateManagedCollection) |
| SetDirtyObject(Object) |
Marca o objeto especificado Parameter como tendo mudado desde o último carregamento ou gravação do estado de visualização. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UpdateValues(HttpContext, Control) |
Itera pelos Parameter objetos contidos pela coleção e chama o |
evento
| Name | Description |
|---|---|
| ParametersChanged |
Ocorre quando um ou mais Parameter objetos contidos pela coleção mudam de estado. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| ICollection.IsSynchronized |
Recebe um valor que indica se a StateManagedCollection coleção está sincronizada (thread safe). Este método retorna |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso à StateManagedCollection coleção. Este método retorna |
| IEnumerable.GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Add(Object) |
Adiciona um item à StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Contains(Object) |
Determina se a StateManagedCollection coleção contém um valor específico. (Herdado de StateManagedCollection) |
| IList.IndexOf(Object) |
Determina o índice de um item especificado na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Insert(Int32, Object) |
Insere um item na StateManagedCollection coleção no índice especificado. (Herdado de StateManagedCollection) |
| IList.IsFixedSize |
Recebe um valor que indica se a StateManagedCollection coleção tem um tamanho fixo. Este método retorna |
| IList.IsReadOnly |
Recebe um valor que indica se a StateManagedCollection coleção é apenas de leitura. (Herdado de StateManagedCollection) |
| IList.Item[Int32] |
Obtém o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IList.Remove(Object) |
Remove a primeira ocorrência do objeto especificado da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.RemoveAt(Int32) |
Remove o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se a StateManagedCollection coleção está a guardar alterações ao seu estado de visualização. (Herdado de StateManagedCollection) |
| IStateManager.LoadViewState(Object) |
Restaura o estado de visualização previamente guardado da StateManagedCollection coleção e dos IStateManager itens que contém. (Herdado de StateManagedCollection) |
| IStateManager.SaveViewState() |
Guarda as alterações à StateManagedCollection coleção e a cada IStateManager objeto que contém desde o momento em que a página foi publicada de volta no servidor. (Herdado de StateManagedCollection) |
| IStateManager.TrackViewState() |
Faz com que a StateManagedCollection coleção e cada um dos IStateManager objetos que contém acompanhem alterações no estado da sua visualização para que possam ser persistidos entre pedidos para a mesma página. (Herdado de StateManagedCollection) |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |