Compartir por


ParameterCollection Clase

Definición

Representa una colección de objetos derivados de Parameter y Parameterque usan los controles de origen de datos en escenarios avanzados de enlace de datos.

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 la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad 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>

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 controles a controles de 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 notación de matriz.

  • Use el GetEnumerator método para crear un System.Collections.IEnumeratorobjeto implementado, que luego 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 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 parametrizadas que use. Sin embargo, al usar 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 posible amenaza de seguridad. Use un evento en el control de origen de datos para validar los valores de parámetro antes de ejecutar el comando. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de script.

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 al 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 ASP.NET Profile.

Constructores

Nombre Description
ParameterCollection()

Inicializa la clase para que la use una instancia de clase heredada. Solo una clase heredada puede llamar a este constructor.

Propiedades

Nombre Description
Count

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

(Heredado de StateManagedCollection)
Item[Int32]

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

Item[String]

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

Métodos

Nombre Description
Add(Parameter)

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

Add(String, DbType, String)

Crea un Parameter objeto 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 Parameter objeto con el nombre y el valor predeterminado especificados y lo anexa al final de la colección.

Add(String, TypeCode, String)

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

Clear()

Quita todos los elementos de la StateManagedCollection colección.

(Heredado de StateManagedCollection)
Contains(Parameter)

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

CopyTo(Array, Int32)

Copia los elementos de la StateManagedCollection colección en una matriz, empezando por un índice de matriz determinado.

(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 predeterminado Parameter .

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetEnumerator()

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

(Heredado de StateManagedCollection)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetKnownTypes()

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

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValues(HttpContext, Control)

Obtiene una colección ordenada de nombres de Parameter objeto y sus valores correspondientes contenidos actualmente en la colección.

IndexOf(Parameter)

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

Insert(Int32, Parameter)

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnClear()

Cuando se invalida en una clase derivada, realiza un trabajo adicional antes de que el Clear() método 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)

Se produce antes de llamar al Insert(Int32, Parameter) método .

OnInsertComplete(Int32, Object)

Se produce una vez completado el Insert(Int32, Parameter) método.

OnParametersChanged(EventArgs)

Genera el evento ParametersChanged.

OnRemove(Int32, Object)

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

(Heredado de StateManagedCollection)
OnRemoveComplete(Int32, Object)

Se produce una vez completado el Remove(Parameter) método.

OnValidate(Object)

Realiza procesos personalizados adicionales al validar un valor.

Remove(Parameter)

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

RemoveAt(Int32)

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

SetDirty()

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

(Heredado de StateManagedCollection)
SetDirtyObject(Object)

Marca el objeto especificado Parameter como que ha cambiado desde la última carga o guardar 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 Parameter objetos contenidos en la colección y llama al Evaluate método en cada uno de ellos.

Eventos

Nombre Description
ParametersChanged

Se produce cuando uno o varios Parameter objetos contenidos por la colección cambian de estado.

Implementaciones de interfaz explícitas

Nombre Description
ICollection.Count

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

(Heredado de StateManagedCollection)
ICollection.IsSynchronized

Obtiene un valor que indica si la StateManagedCollection colección está sincronizada (segura 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 StateManagedCollection colección. Este método devuelve null en todos los casos.

(Heredado de StateManagedCollection)
IEnumerable.GetEnumerator()

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

(Heredado de StateManagedCollection)
IList.Add(Object)

Agrega un elemento a la StateManagedCollection colección.

(Heredado de StateManagedCollection)
IList.Clear()

Quita todos los elementos de la StateManagedCollection colección.

(Heredado de StateManagedCollection)
IList.Contains(Object)

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

(Heredado de StateManagedCollection)
IList.IndexOf(Object)

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

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

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

(Heredado de StateManagedCollection)
IList.IsFixedSize

Obtiene un valor que indica si la StateManagedCollection colección 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 StateManagedCollection colección es de solo lectura.

(Heredado de StateManagedCollection)
IList.Item[Int32]

Obtiene el IStateManager elemento en el índice especificado.

(Heredado de StateManagedCollection)
IList.Remove(Object)

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

(Heredado de StateManagedCollection)
IList.RemoveAt(Int32)

Quita el IStateManager elemento en el índice especificado.

(Heredado de StateManagedCollection)
IStateManager.IsTrackingViewState

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

(Heredado de StateManagedCollection)
IStateManager.LoadViewState(Object)

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

(Heredado de StateManagedCollection)
IStateManager.SaveViewState()

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

(Heredado de StateManagedCollection)
IStateManager.TrackViewState()

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

(Heredado de StateManagedCollection)

Métodos de extensión

Nombre Description
AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Cast<TResult>(IEnumerable)

Convierte los elementos de un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

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

Se aplica a

Consulte también