DynamicQueryStringParameter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Gera automaticamente uma coleção de parâmetros que é usada para criar a Where cláusula para o controlo de fonte dos dados, recuperando valores da cadeia 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
- Implementações
Exemplos
O exemplo seguinte mostra como usar o DynamicQueryStringParameter objeto como filtro ao exibir dados num GridView controlo. O GridView controlo contém um TemplateField objeto que cria um link que define o valor da string de consulta usando o valor da 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>
Observações
A classe DynamicQueryStringParameter é usada por páginas que utilizam ASP.NET funcionalidades de Dados Dinâmicos. A DynamicQueryStringParameter classe gera uma coleção de Parameter objetos para as chaves primárias, chaves estrangeiras e colunas booleanas de uma tabela ao recuperar valores das cadeias de consulta.
Para chaves primárias, podes simplesmente adicionar um DynamicQueryStringParameter objeto sem fornecer quaisquer outros parâmetros. Os Dados Dinâmicos geram os parâmetros para a(s) chave(s) primária(s). Para chaves estrangeiras ou colunas booleanas, deve definir a Name propriedade para o nome da coluna que quer filtrar.
Para usar a DynamicQueryStringParameter classe, deve adicionar um DynamicDataManager controlo à página e deve registar o controlo data-bound com o DynamicDataManager controlo usando o DynamicDataManager.RegisterControl método.
Construtores
| Name | Description |
|---|---|
| DynamicQueryStringParameter() |
Inicializa uma nova instância da DynamicQueryStringParameter classe. |
Propriedades
| Name | Description |
|---|---|
| ConvertEmptyStringToNull |
Obtém ou define um valor que indica se o valor ao qual o Parameter objeto está ligado deve ser convertido se |
| DbType |
Obtém ou define o tipo de base de dados do parâmetro. (Herdado de Parameter) |
| DefaultValue |
Especifica um valor por defeito para o parâmetro, caso o valor que o parâmetro está vinculado a ser não inicializado quando o Evaluate(HttpContext, Control) método for chamado. (Herdado de Parameter) |
| Direction |
Indica se o Parameter objeto é usado para associar um valor a um controlo, ou se o controlo pode ser usado para alterar o valor. (Herdado de Parameter) |
| IsTrackingViewState |
Recebe um valor que indica se o Parameter objeto está a guardar alterações ao seu estado de visualizaçã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ção de estado que permite guardar e restaurar o estado de visualização de um Parameter objeto através de múltiplos pedidos para a mesma página. (Herdado de Parameter) |
Métodos
| Name | Description |
|---|---|
| Clone() |
Devolve um duplicado da instância atual Parameter . (Herdado de Parameter) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Evaluate(HttpContext, Control) |
Faz InvalidOperationException exceção em todos os casos. |
| GetDatabaseType() |
Obtém o DbType valor equivalente ao tipo CLR da instância atual Parameter . (Herdado de Parameter) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetWhereParameters(IDynamicDataSource) |
Devolve uma coleção de Parameter objetos que são automaticamente gerados para as colunas de uma tabela ao recuperar os valores das cadeias de consulta. |
| LoadViewState(Object) |
Restaura o estado da vista de fonte de dados anteriormente guardada. (Herdado de Parameter) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnParameterChanged() |
Chama o OnParametersChanged(EventArgs) método da ParameterCollection coleção que contém o Parameter objeto. (Herdado de Parameter) |
| SaveViewState() |
Guarda as alterações ao estado de Parameter visualização do objeto desde o momento em que a página foi publicada de volta no servidor. (Herdado de Parameter) |
| SetDirty() |
Marca o Parameter objeto para que o seu estado fique registado no estado de visualização. (Herdado de Parameter) |
| ToString() |
Converte o valor desta instância para a sua representação equivalente da cadeia. (Herdado de Parameter) |
| TrackViewState() |
Faz com que o Parameter objeto acompanhe alterações ao seu estado de visualização para que possam ser armazenadas no objeto do ViewState controlo e persistidas entre pedidos para a mesma página. (Herdado de Parameter) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICloneable.Clone() |
Devolve um duplicado da instância atual Parameter . (Herdado de Parameter) |
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se o Parameter objeto está a guardar alterações ao seu estado de visualização. (Herdado de Parameter) |
| IStateManager.LoadViewState(Object) |
Restaura o estado da vista de fonte de dados anteriormente guardada. (Herdado de Parameter) |
| IStateManager.SaveViewState() |
Guarda as alterações ao estado de Parameter visualização do objeto desde o momento em que a página foi publicada de volta no servidor. (Herdado de Parameter) |
| IStateManager.TrackViewState() |
Faz com que o Parameter objeto acompanhe alterações ao seu estado de visualização para que possam ser armazenadas no objeto do ViewState controlo e persistidas entre pedidos para a mesma página. (Herdado de Parameter) |