ObjectDataSource.SelectParameters Propriedade

Definição

Obtém uma coleção de parâmetros que são usados pelo método especificado pela SelectMethod propriedade.

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 Propriedade

Um conjunto de parâmetros que são usados pelo método especificado pela SelectMethod propriedade.

Atributos

Exemplos

O exemplo de código seguinte demonstra como recuperar um único registo de dados usando um ObjectDataSource controlo e exibi-lo num DetailsView controlo. O ObjectDataSource controlo recupera um registo específico do empregado chamando o GetEmployee método da EmployeeLogic classe. O GetEmployee método requer um parâmetro de identificação do empregado. O ObjectDataSource controlo utiliza um QueryStringParameter elemento na marcação para criar um QueryStringParameter objeto que irá recuperar o valor de um parâmetro de sequência de consulta especificado da URL e passá-lo para o GetEmployee método.

Outras classes de parâmetros podem ser usadas para recuperar valores de outras fontes, como propriedades de controlo, campos de formulário, cookies, dados de perfil ASP.NET ou estado da sessão. Também pode usar um objeto parâmetro definido em marcação para passar um valor codificado fixo ao método select. Para mais informações sobre classes de parâmetros disponíveis, consulte Utilização de Parâmetros com Controlo de Fonte de Dados para Filtragem.

Para executar este exemplo, vai precisar do seguinte:

  • Um site que tem um cadeia de ligação chamado NorthwindConnection que se liga à base de dados Northwind Traders. Para mais informações, consulte a ObjectDataSource visão geral da turma.

  • A EmployeeLogic classe que é mostrada como um dos exemplos de código para a ObjectDataSource visão geral da classe. O ficheiro da classe deve estar localizado na pasta App_Code.

  • O código de exemplo pode ser executado como uma página .aspx. Se solicitar a página sem um parâmetro de sequência de consulta, é exibida uma mensagem de erro. Se solicitar a página usando uma cadeia de consulta, como ?empid=1 após o nome do ficheiro .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>

Observações

A SelectParameters propriedade recebe a SelectParameters propriedade do ObjectDataSourceView objeto associado ao ObjectDataSource controlo.

Adiciona-se parâmetros à SelectParameters coleção de forma declarativa usando o SelectParameters elemento ou programaticamente no handler do Selecting evento. Em tempo de execução, os parâmetros listados no SelectParameters elemento são adicionados primeiro à coleção. Os parâmetros na coleção são então adicionados ou removidos pelo handler do Selecting evento. O Selecting evento é levantado antes de o Select método ser executado.

Antes de o Select método ser 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 toma um string e um inteiro como parâmetros, a SelectParameters coleção deve conter dois parâmetros. O primeiro parâmetro deve resolver para uma cadeia e o segundo parâmetro deve resolver para um inteiro. Ambos os parâmetros podem ser especificados em marcação no SelectParameters elemento. Alternativamente, podem ser adicionados no Selecting gestor de eventos, ou um parâmetro pode ser adicionado em marcação e o outro pode ser adicionado programaticamente.

Para mais informações, consulte Utilização de Parâmetros com o Controlo ObjectDataSource e a SelectMethod propriedade.

Importante

No código do Selecting gestor de eventos ou no método especificado pela SelectMethod propriedade, certifique-se de validar qualquer valor de parâmetro recebido do cliente.

Aplica-se a

Ver também