Compartilhar via


ObjectDataSource.SelectParameters Propriedade

Definição

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.

Aplica-se a

Confira também