ObjectDataSource.SelectParameters Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma coleção de parâmetros que são usados pelo método especificado pela propriedade 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 da propriedade
Uma coleção de parâmetros que são usados pelo método especificado pela propriedade SelectMethod.
- Atributos
Exemplos
O exemplo de código a seguir demonstra como recuperar um único registro de dados usando um ObjectDataSource controle e exibi-lo em um DetailsView controle . O ObjectDataSource controle recupera um registro de funcionário específico chamando o GetEmployee
método da EmployeeLogic
classe . O GetEmployee
método requer um parâmetro de ID de funcionário. O ObjectDataSource controle usa um QueryStringParameter
elemento na marcação para criar um QueryStringParameter objeto que recuperará o valor de um parâmetro de cadeia de caracteres de consulta especificado da URL e o passará para o GetEmployee
método .
Outras classes de parâmetro podem ser usadas para recuperar valores de outras fontes, como propriedades de controle, campos de formulário, cookies, ASP.NET dados de perfil ou estado de sessão. Você também pode usar um objeto de parâmetro definido na marcação para passar um valor embutido em código para o método select. Para obter mais informações sobre classes de parâmetro disponíveis, consulte Usando parâmetros com controles de fonte de dados para filtragem.
Para executar este exemplo, você precisará do seguinte:
Um site que tem uma cadeia de conexão chamada
NorthwindConnection
que se conecta ao banco de dados da Northwind Traders. Para obter mais informações, consulte a visão geral da ObjectDataSource classe.A
EmployeeLogic
classe mostrada como um dos exemplos de código para a visão geral da ObjectDataSource classe. O arquivo de classe deve estar localizado na pasta App_Code.O código de exemplo pode ser executado como uma página .aspx. Se você solicitar a página sem um parâmetro de cadeia de caracteres de consulta, uma mensagem de erro será exibida. Se você solicitar a página usando uma cadeia de caracteres de consulta, como
?empid=1
após o nome do arquivo .aspx, verá os detalhes do funcionário 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>
Comentários
A SelectParameters propriedade obtém a SelectParameters propriedade do ObjectDataSourceView objeto associado ao ObjectDataSource controle .
Adicione parâmetros à SelectParameters coleção declarativamente usando o SelectParameters
elemento ou programaticamente no manipulador para o Selecting evento. Em tempo de execução, os parâmetros listados no SelectParameters
elemento são adicionados à coleção primeiro. Os parâmetros na coleção são adicionados ou removidos pelo manipulador para o Selecting evento. O Selecting evento é gerado antes da execução do Select método.
Antes que o Select método seja executado, os nomes e tipos dos parâmetros contidos na SelectParameters coleção devem corresponder à assinatura do método especificado pela SelectMethod propriedade . Por exemplo, se um método select chamado GetEmployeesByStateAndAge
usa um string
e um inteiro como parâmetros, a SelectParameters coleção deve conter dois parâmetros. O primeiro parâmetro deve ser resolvido para uma cadeia de caracteres e o segundo parâmetro deve ser resolvido para um inteiro. Ambos os parâmetros podem ser especificados na marcação no SelectParameters
elemento . Como alternativa, eles podem ser adicionados no Selecting manipulador de eventos ou um parâmetro pode ser adicionado na marcação e o outro pode ser adicionado programaticamente.
Para obter mais informações, consulte Usando parâmetros com o controle ObjectDataSource e a SelectMethod propriedade .
Importante
No código do Selecting manipulador de eventos ou no método especificado pela SelectMethod propriedade , valide qualquer valor de parâmetro recebido do cliente.