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 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 query-string, 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 .

Você adiciona 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 do Selecting evento. O Selecting evento é gerado antes que o Select método seja executado.

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 resolve a uma cadeia de caracteres e o segundo parâmetro deve resolve a 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 Using Parameters with the ObjectDataSource Control and the SelectMethod property.

Importante

No código do Selecting manipulador de eventos ou no método especificado pela SelectMethod propriedade , verifique se você valida qualquer valor de parâmetro recebido do cliente.

Aplica-se a

Confira também