ObjectDataSource.SelectParameters Propiedad

Definición

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

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

Valor de propiedad

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

Atributos

Ejemplos

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

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

Para ejecutar este ejemplo, necesitará lo siguiente:

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

  • Clase EmployeeLogic que se muestra como uno de los ejemplos de código de la información general de la ObjectDataSource clase. El archivo de clase debe encontrarse en la carpeta App_Code.

  • El código de ejemplo se puede ejecutar como una página de .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 mediante una cadena de consulta, como ?empid=1 después del nombre del archivo .aspx, verá los detalles del 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>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!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 - VB 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.VB.EmployeeLogic" >
          <selectparameters>
            <asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
          </selectparameters>
        </asp:objectdatasource>

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

Comentarios

La SelectParameters propiedad obtiene la SelectParameters propiedad del ObjectDataSourceView objeto asociado al ObjectDataSource control .

Los parámetros se agregan a la SelectParameters colección mediante declaración mediante el SelectParameters elemento o mediante programación en el controlador para el Selecting evento. En tiempo de ejecución, los parámetros enumerados en el SelectParameters elemento se agregan primero a la colección. A continuación, el controlador agrega o quita los parámetros de la colección para el Selecting evento. El Selecting evento se genera antes de que se ejecute el Select método .

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

Para obtener más información, vea Usar parámetros con el control ObjectDataSource y la SelectMethod propiedad .

Importante

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

Se aplica a

Consulte también