ParameterCollection Clase

Definición

Representa una colección de objetos derivados de Parameter y Parameter que utilizan controles de origen de datos en escenarios de enlace de datos avanzados.

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
Herencia
ParameterCollection

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar un AccessDataSource control y un FormParameter para mostrar información de una base de datos de Microsoft Access en un GridView control. El FormParameter objeto se agrega a la SelectParameters colección mediante el Add método .

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante 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>

Comentarios

La ParameterCollection clase representa una colección de Parameter objetos usados en escenarios avanzados de enlace de datos con controles de origen de datos. Los Parameter objetos se usan para enlazar los valores contenidos por variables locales Page , cookies HTTP, variables de sesión y otros valores de los controles del origen de datos al recuperar, actualizar, eliminar e insertar datos.

Use la ParameterCollection clase para administrar mediante programación un conjunto de Parameter objetos. Puede agregar, insertar y quitar Parameter objetos mediante los métodos adecuados de la ParameterCollection clase . Para recuperar Parameter objetos de una colección mediante programación, use uno de los métodos siguientes:

  • Use el indexador para obtener un único Parameter objeto de la colección, por nombre o mediante la notación de matriz.

  • Use el GetEnumerator método para crear un System.Collections.IEnumeratorobjeto implementado, que se puede usar para obtener elementos de la colección.

La Count propiedad especifica el número total de elementos de la colección y se usa para determinar el límite superior de la colección. Puede agregar y quitar elementos de la colección mediante los Addmétodos , Insert, Removey RemoveAt .

Según la implementación y la semántica de un control de origen de datos determinado, el orden en el que los parámetros se almacenan en la ParameterCollection colección podría ser importante. Por ejemplo, cuando se usa el SqlDataSource control como origen de datos ODBC, el orden de los Parameter objetos de la ParameterCollection colección debe ser el mismo que el orden de los parámetros de las consultas SQL con parámetros que use. Sin embargo, cuando se usa el SqlDataSource control con Microsoft SQL Server, el orden de los Parameter objetos no es importante.

Importante

Cuando se usan controles de origen de datos, los valores se insertan en parámetros de comando sin validación, lo que supone una amenaza de seguridad potencial. Use un evento en el control de origen de datos para validar los valores de parámetro antes de ejecutar el comando. Para más información, consulte Información general sobre los ataques mediante scripts.

En la tabla siguiente se enumeran las distintas clases de parámetros y cómo se usan.

Clase Parameter Descripción
Parameter Clase de parámetro base. Úselo para enlazar a una variable local o a cualquier cadena estática mediante la DefaultValue propiedad .
ControlParameter Parámetro que se puede usar para enlazar a la propiedad o al valor devuelto del método de un control.
CookieParameter Parámetro que se puede usar para enlazar con el valor de una cookie.
FormParameter Parámetro que se puede usar para enlazar a un atributo de la página de formularios Web Forms actual.
QueryStringParameter Parámetro que se puede usar para enlazar a un valor pasado a una página de Formularios Web Forms en una cadena de consulta.
SessionParameter Parámetro que se puede usar para enlazar con el valor de una variable de sesión.
ProfileParameter Parámetro que se puede usar para enlazar con el valor de una propiedad profile de ASP.NET.

Constructores

ParameterCollection()

Inicializa la clase para que la use una instancia de la clase heredada. A este constructor sólo lo puede llamar una clase heredada.

Propiedades

Count

Obtiene el número de elementos incluidos en la colección StateManagedCollection.

(Heredado de StateManagedCollection)
Item[Int32]

Obtiene o establece el objeto Parameter en el índice especificado de la colección.

Item[String]

Obtiene o establece el objeto Parameter con el nombre especificado en la colección.

Métodos

Add(Parameter)

Agrega el objeto Parameter especificado al final de la colección.

Add(String, DbType, String)

Crea un objeto Parameter con el nombre, el tipo de base de datos y el valor predeterminado especificados, y lo agrega al final de la colección.

Add(String, String)

Crea un objeto Parameter con el nombre y valor predeterminado especificados y lo anexa al final de la colección.

Add(String, TypeCode, String)

Crea un objeto Parameter con el nombre especificado, TypeCode, y un valor predeterminado, y lo anexa al final de la colección.

Clear()

Quita todos los elementos de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
Contains(Parameter)

Determina si la colección ParameterCollection contiene un valor específico.

CopyTo(Array, Int32)

Copia los elementos de la colección StateManagedCollection en una matriz a partir de un índice de matriz concreto.

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

Copia un índice especificado de una matriz de parámetros en la colección de parámetros.

CreateKnownType(Int32)

Crea una instancia de un objeto Parameter predeterminado.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un iterador que permite recorrer en iteración la colección StateManagedCollection.

(Heredado de StateManagedCollection)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetKnownTypes()

Obtiene una matriz de los tipos Parameter que la colección ParameterCollection puede contener.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValues(HttpContext, Control)

Obtiene una colección ordenada de los nombres de objeto Parameter y sus valores correspondientes que contiene actualmente la colección.

IndexOf(Parameter)

Determina el índice de un objeto Parameter especificado en la colección ParameterCollection.

Insert(Int32, Parameter)

Inserta el objeto Parameter especificado en el índice especificado de la colección ParameterCollection.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnClear()

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional antes de que el método Clear() quite todos los elementos de la colección.

(Heredado de StateManagedCollection)
OnClearComplete()

Realiza procesos personalizados adicionales después de borrar el contenido de la colección.

OnInsert(Int32, Object)

Aparece antes de la llamada al método Insert(Int32, Parameter).

OnInsertComplete(Int32, Object)

Se produce cuando termina el método Insert(Int32, Parameter).

OnParametersChanged(EventArgs)

Genera el evento ParametersChanged.

OnRemove(Int32, Object)

Cuando se reemplaza en una clase derivada, realiza un trabajo adicional antes de que los métodos IList.Remove(Object) o IList.RemoveAt(Int32) quiten el elemento especificado de la colección.

(Heredado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Se produce cuando termina el método Remove(Parameter).

OnValidate(Object)

Realiza procesos de personalización adicionales al validar un valor.

Remove(Parameter)

Quita el objeto Parameter especificado de la colección ParameterCollection.

RemoveAt(Int32)

Quita el objeto Parameter del índice especificado de la colección ParameterCollection.

SetDirty()

Obliga a serializar la colección StateManagedCollection completa en el estado de vista.

(Heredado de StateManagedCollection)
SetDirtyObject(Object)

Marca el objeto Parameter especificado como cambiado desde la última vez que se cargó o se guardó desde el estado de vista.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UpdateValues(HttpContext, Control)

Recorre en iteración los objetos Parameter que contiene la colección y llama al método Evaluate en cada uno.

Eventos

ParametersChanged

Aparece cuando cambia el estado de uno o varios objetos Parameter que contiene la colección.

Implementaciones de interfaz explícitas

ICollection.Count

Obtiene el número de elementos incluidos en la colección StateManagedCollection.

(Heredado de StateManagedCollection)
ICollection.IsSynchronized

Obtiene un valor que indica si la colección StateManagedCollection está sincronizada (seguro para subprocesos). Este método devuelve false en todos los casos.

(Heredado de StateManagedCollection)
ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a la colección StateManagedCollection. Este método devuelve null en todos los casos.

(Heredado de StateManagedCollection)
IEnumerable.GetEnumerator()

Devuelve un iterador que permite recorrer en iteración la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Add(Object)

Agrega un elemento a la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Clear()

Quita todos los elementos de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.Contains(Object)

Determina si la colección StateManagedCollection contiene un valor específico.

(Heredado de StateManagedCollection)
IList.IndexOf(Object)

Determina el índice de un elemento especificado en la colección StateManagedCollection.

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

Inserta un elemento en el índice especificado de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.IsFixedSize

Obtiene un valor que indica si la colección StateManagedCollection tiene un tamaño fijo. Este método devuelve false en todos los casos.

(Heredado de StateManagedCollection)
IList.IsReadOnly

Obtiene un valor que indica si la colección StateManagedCollection es de solo lectura.

(Heredado de StateManagedCollection)
IList.Item[Int32]

Obtiene el elemento IStateManager en el índice especificado.

(Heredado de StateManagedCollection)
IList.Remove(Object)

Quita la primera aparición del objeto especificado de la colección StateManagedCollection.

(Heredado de StateManagedCollection)
IList.RemoveAt(Int32)

Quita el elemento IStateManager en el índice especificado.

(Heredado de StateManagedCollection)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si la colección StateManagedCollection está guardando los cambios en su estado de vista.

(Heredado de StateManagedCollection)
IStateManager.LoadViewState(Object)

Restaura el estado de vista previamente guardado de la colección StateManagedCollection y de los elementos IStateManager que contiene.

(Heredado de StateManagedCollection)
IStateManager.SaveViewState()

Guarda los cambios realizados en la colección StateManagedCollection y en cada objeto IStateManager que contiene desde el momento en que la página se devolvió al servidor.

(Heredado de StateManagedCollection)
IStateManager.TrackViewState()

Hace que la colección StateManagedCollection y cada uno de los objetos IStateManager que contiene realicen un seguimiento de los cambios en el estado de vista para que se puedan conservar entre distintas solicitudes de la misma página.

(Heredado de StateManagedCollection)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también