Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

ObjectDataSource.SelectParameters (Propiedad)

Obtiene una colección de los parámetros que usa el método especificado por la propiedad SelectMethod.

Espacio de nombres:  System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
public ParameterCollection SelectParameters { get; }

Valor de propiedad

Tipo: System.Web.UI.WebControls.ParameterCollection
Colección de los parámetros que usa el método especificado por la propiedad SelectMethod.

La propiedad SelectParameters obtiene la propiedad SelectParameters del objeto ObjectDataSourceView que está asociado con el control ObjectDataSource.

Agrega parámetros a la colección SelectParameters mediante declaración utilizando el elemento SelectParameters o mediante programación en el controlador para el evento Selecting. En tiempo de ejecución, los parámetros enumerados en el elemento SelectParameters se agregan a la colección en primer lugar. Los parámetros de la colección se agregan y se quitan mediante el controlador del evento Selecting. Antes de que el método Select se ejecute, se provoca el evento Selecting.

Antes de que se ejecute el método Select, los nombres y tipos de los parámetros contenidos en la colección SelectParameters deben coincidir con la firma del método especificado por la propiedad SelectMethod. Por ejemplo, si un método de selección denominado GetEmployeesByStateAndAge toma string y un entero como parámetros, la colección SelectParameters debe contener dos parámetros. El primer parámetro se debe resolver como una cadena y el segundo parámetro se debe resolver como un entero. Se pueden especificar ambos parámetros en marcado en el elemento SelectParameters. Alternativamente, se pueden agregar en el controlador de eventos Selecting, o un parámetro se puede agregar en marcado y el otro se puede agregar mediante programación.

Para obtener más información, vea las propiedades Utilizar parámetros con el control ObjectDataSource y SelectMethod.

Nota de seguridadNota sobre la seguridad

En el código para el controlador de eventos Selecting o en el método que especifica la propiedad SelectMethod, asegúrese de que valida cualquier valor de parámetro que se reciba del cliente.

En el ejemplo de código siguiente se muestra cómo recuperar un registro de datos único mediante un control ObjectDataSource y cómo se muestra en un control DetailsView. El control ObjectDataSource recupera el registro de un empleado concreto llamando al método GetEmployee de la clase EmployeeLogic. El método GetEmployee requiere un parámetro de Id. de empleado. El control ObjectDataSource utiliza un elemento QueryStringParameter en marcado para crear un objeto QueryStringParameter que recuperará el valor de un parámetro de cadena de consulta especificado de la dirección URL y lo pasará al método GetEmployee.

Otras clases de parámetro se pueden usar para recuperar los valores de otros orígenes, como propiedades de control, campos de formulario, cookies, datos del perfil de ASP.NET o estado de sesión. También puede utilizar un objeto de parámetro que se define en marcado para pasar un valor codificado de forma rígida al método selecto. Para obtener más información sobre las clases de parámetros disponibles, consulte Utilizar parámetros con controles de origen de datos.

Para ejecutar este ejemplo, necesitará:

  • Un sitio web que tiene una cadena de conexión denominado NorthwindConnection que conecta a la base de datos Northwind Traders. Para obtener más información, vea la información general de la clase ObjectDataSource.

  • La clase EmployeeLogic que se muestra como uno de los ejemplos de código para la descripción general de la clase ObjectDataSource. El archivo de clase se debe ubicar en la carpeta App_Code.

  • El código de ejemplo se puede ejecutar como una página .aspx. Si solicita la página sin un parámetro de cadena de consulta, se muestra un mensaje de error. Si solicita la página usando una cadena de consulta como ?empid=1 después del nombre del archivo .aspx, verá los detalles para el empleado solicitado.


<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:detailsview
          id="DetailsView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:detailsview>

<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetEmployee"
          typename="Samples.AspNet.CS.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

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


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Mostrar: