ObjectDataSource.SelectParameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.