Compartilhar via


DynamicQueryStringParameter Classe

Definição

Gera automaticamente uma coleção de parâmetros usada para criar a cláusula Where para o controle de fonte de dados, recuperando valores de cadeias de caracteres de consulta.

public ref class DynamicQueryStringParameter : System::Web::UI::WebControls::Parameter, System::Web::DynamicData::IWhereParametersProvider
public class DynamicQueryStringParameter : System.Web.UI.WebControls.Parameter, System.Web.DynamicData.IWhereParametersProvider
type DynamicQueryStringParameter = class
    inherit Parameter
    interface IWhereParametersProvider
Public Class DynamicQueryStringParameter
Inherits Parameter
Implements IWhereParametersProvider
Herança
DynamicQueryStringParameter
Implementações

Exemplos

O exemplo a seguir mostra como usar o DynamicQueryStringParameter objeto como filtro ao exibir dados em um GridView controle . O GridView controle contém um TemplateField objeto que cria um link que define o valor da cadeia de caracteres de consulta usando o valor de chave estrangeira.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
 
  protected void Page_Init(object sender, EventArgs e)
  {
    // Registers the data-bound control with
    // the DynamicDataManager control.
    DynamicDataManager1.RegisterControl(ProductsGridView);
    
    // Initializes the URL for the View All link 
    // to the current page.
    ViewAllLink.NavigateUrl = Request.Path;

  }

  protected string GetFilterPath()
  {
    // Retrieves the current data item.
    var productItem = (Product)GetDataItem();
    if (productItem.ProductCategory != null)
    {
      // Creates a URL that has a query string value
      // set to the foreign key value.      
      return Request.Path + "?ProductCategoryID=" 
        + productItem.ProductCategoryID.ToString();
    }
    return string.Empty;
  }

  protected string GetProductCategory()
  {
    // Returns the value for the Name column
    // in the relationship table.    
    var productItem = (Product)GetDataItem();
    if (productItem.ProductCategory != null)
    {
      return productItem.ProductCategory.Name;
    }
    return string.Empty;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>DynamicQueryStringParameter Example</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body class="template">
  <form id="form1" runat="server">
    <div>
    
      <h2>DynamicQueryStringParameter Example</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
              
      <asp:GridView ID="ProductsGridView" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="ProductsDataSource"
        AllowPaging="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="Name" />
          <asp:DynamicField DataField="ProductNumber" />
          <asp:DynamicField DataField="Color" />
          <asp:TemplateField HeaderText="Category">
            <ItemTemplate>
              <a runat="server" href='<%# GetFilterPath() %>'>
                <asp:Label runat="server" ID="ProductCategory" Text='<%# GetProductCategory() %>' />
              </a>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <br />
      
      <div class="bottomhyperlink">
        <asp:HyperLink runat="server" ID="ViewAllLink" Text="View All Records" />
      </div>


      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="ProductsDataSource" runat="server" 
        TableName="Products"
        ContextTypeName="AdventureWorksLTDataContext" >
        <WhereParameters>
          <asp:DynamicQueryStringParameter Name="ProductCategory" />
        </WhereParameters>
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
 
  Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
    ' Registers the data-bound control with
    ' the DynamicDataManager control.
    DynamicDataManager1.RegisterControl(ProductsGridView)
    
    ' Initializes the URL for the View All link 
    ' to the current page.
    ViewAllLink.NavigateUrl = Request.Path    
  End Sub

  Protected Function GetFilterPath() As String
    ' Retrieves the current data item.
    Dim productItem = CType(GetDataItem(), Product)
    If Not (productItem.ProductCategory Is Nothing) Then
      ' Creates a URL that has a query string value
      ' set to the foreign key value.
      Return Request.Path + "?ProductCategoryID=" + productItem.ProductCategoryID.ToString()
    End If
    Return String.Empty

  End Function

  Protected Function GetProductCategory() As String
    ' Returns the value for the Name column
    ' in the relationship table.
    Dim productItem = CType(GetDataItem(), Product)
    If Not (productItem.ProductCategory Is Nothing) Then
      Return productItem.ProductCategory.Name
    End If
    Return String.Empty
  End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicQueryStringParameter Example</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body class="template">
  <form id="form1" runat="server">
    <div>
    
      <h2>DynamicQueryStringParameter Example</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
              
      <asp:GridView ID="ProductsGridView" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="ProductsDataSource"
        AllowPaging="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="Name" />
          <asp:DynamicField DataField="ProductNumber" />
          <asp:DynamicField DataField="Color" />
          <asp:TemplateField HeaderText="Category">
            <ItemTemplate>
              <a runat="server" href='<%# GetFilterPath() %>'>
                <asp:Label runat="server" ID="ProductCategory" Text='<%# GetProductCategory() %>' />
              </a>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <br />
      
      <div class="bottomhyperlink">
        <asp:HyperLink runat="server" ID="ViewAllLink" Text="View All Records" />
      </div>


      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="ProductsDataSource" runat="server" 
        TableName="Products"
        ContextTypeName="AdventureWorksLTDataContext" >
        <WhereParameters>
          <asp:DynamicQueryStringParameter Name="ProductCategory" />
        </WhereParameters>
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>

Comentários

A DynamicQueryStringParameter classe é usada por páginas que estão usando ASP.NET recursos de Dados Dinâmicos. A DynamicQueryStringParameter classe gerará uma coleção de Parameter objetos para as chaves primárias, chaves estrangeiras e colunas boolianas de uma tabela recuperando valores de cadeia de caracteres de consulta.

Para chaves primárias, você pode simplesmente adicionar um DynamicQueryStringParameter objeto sem fornecer nenhum outro parâmetro. Os Dados Dinâmicos gerarão os parâmetros para a chave primária ou chaves. Para chaves estrangeiras ou colunas boolianas, você deve definir a Name propriedade como o nome da coluna que deseja filtrar.

Para usar a DynamicQueryStringParameter classe , você deve adicionar um DynamicDataManager controle à página e registrar o controle associado a dados com o DynamicDataManager controle usando o DynamicDataManager.RegisterControl método .

Veja um exemplo de código em tempo de execução deste recurso: Executar.

Construtores

DynamicQueryStringParameter()

Inicializa uma nova instância da classe DynamicQueryStringParameter.

Propriedades

ConvertEmptyStringToNull

Obtém ou define um valor que indica se o valor ao qual o objeto Parameter está associado deverá ser convertido em null se ele for Empty.

(Herdado de Parameter)
DbType

Obtém ou define o tipo de banco de dados do parâmetro.

(Herdado de Parameter)
DefaultValue

Especifica um valor padrão para o parâmetro, caso o valor a que o parâmetro esteja associado não devesse ser inicializado quando o método Evaluate(HttpContext, Control) for chamado.

(Herdado de Parameter)
Direction

Indica se o objeto Parameter é usado para associar um valor a um controle ou o controle pode ser usado para alterar o valor.

(Herdado de Parameter)
IsTrackingViewState

Obtém um valor que indica se o objeto Parameter está salvando alterações no estado de exibição.

(Herdado de Parameter)
Name

Obtém ou define o nome do parâmetro.

(Herdado de Parameter)
Size

Obtém ou define o tamanho do parâmetro.

(Herdado de Parameter)
Type

Obtém ou define o tipo do parâmetro.

(Herdado de Parameter)
ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um objeto Parameter em várias solicitações da mesma página.

(Herdado de Parameter)

Métodos

Clone()

Retorna uma duplicata da instância de Parameter atual.

(Herdado de Parameter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Evaluate(HttpContext, Control)

Gera uma exceção InvalidOperationException em todos os casos.

GetDatabaseType()

Obtém o valor DbType que é equivalente ao tipo CLR da instância Parameter atual.

(Herdado de Parameter)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetWhereParameters(IDynamicDataSource)

Retorna uma coleção de objetos Parameter que são gerados automaticamente para as colunas de uma tabela recuperando valores de cadeia de caracteres de consulta.

LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição de fonte de dados.

(Herdado de Parameter)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnParameterChanged()

Chama o método OnParametersChanged(EventArgs) da coleção ParameterCollection que contém o objeto Parameter.

(Herdado de Parameter)
SaveViewState()

Salva as alterações ao estado de exibição do objeto Parameter desde a hora em que a página foi postada de volta no servidor.

(Herdado de Parameter)
SetDirty()

Marca o objeto Parameter de modo que seu estado seja registrado no estado de exibição.

(Herdado de Parameter)
ToString()

Converte o valor dessa instância na representação da cadeia de caracteres equivalente.

(Herdado de Parameter)
TrackViewState()

Faz com que o objeto Parameter controle as alterações a seu estado de exibição de modo que elas possam ser armazenadas no objeto ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de Parameter)

Implantações explícitas de interface

ICloneable.Clone()

Retorna uma duplicata da instância de Parameter atual.

(Herdado de Parameter)
IStateManager.IsTrackingViewState

Obtém um valor que indica se o objeto Parameter está salvando alterações no estado de exibição.

(Herdado de Parameter)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição de fonte de dados.

(Herdado de Parameter)
IStateManager.SaveViewState()

Salva as alterações ao estado de exibição do objeto Parameter desde a hora em que a página foi postada de volta no servidor.

(Herdado de Parameter)
IStateManager.TrackViewState()

Faz com que o objeto Parameter controle as alterações a seu estado de exibição de modo que elas possam ser armazenadas no objeto ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de Parameter)

Aplica-se a

Confira também