DynamicQueryStringParameter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Genera automáticamente una colección de parámetros que se usa para crear la Where cláusula para el control de origen de datos recuperando valores de cadena 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
- Herencia
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo usar el DynamicQueryStringParameter objeto como filtro al mostrar datos en un GridView control. El GridView control contiene un objeto que crea un TemplateField vínculo que establece el valor de la cadena de consulta mediante el valor de clave externa.
<%@ 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>
Comentarios
Las páginas que usan ASP.NET características de datos dinámicos usan la DynamicQueryStringParameter clase . La DynamicQueryStringParameter clase generará una colección de Parameter objetos para las claves principales, claves externas y columnas booleanas de una tabla recuperando valores de cadena de consulta.
Para las claves principales, puede simplemente agregar un DynamicQueryStringParameter objeto sin proporcionar ningún otro parámetro. Los datos dinámicos generarán los parámetros para la clave principal o las claves. Para las claves externas o columnas booleanas, debe establecer la Name propiedad en el nombre de la columna que desea filtrar.
Para usar la DynamicQueryStringParameter clase , debe agregar un DynamicDataManager control a la página y debe registrar el control enlazado a datos con el DynamicDataManager control mediante el DynamicDataManager.RegisterControl método .
Constructores
| Nombre | Description |
|---|---|
| DynamicQueryStringParameter() |
Inicializa una nueva instancia de la clase DynamicQueryStringParameter. |
Propiedades
| Nombre | Description |
|---|---|
| ConvertEmptyStringToNull |
Obtiene o establece un valor que indica si el valor al que está enlazado el Parameter objeto se debe convertir |
| DbType |
Obtiene o establece el tipo de base de datos del parámetro . (Heredado de Parameter) |
| DefaultValue |
Especifica un valor predeterminado para el parámetro , si el valor del parámetro está enlazado a no inicializarse cuando se llama al Evaluate(HttpContext, Control) método . (Heredado de Parameter) |
| Direction |
Indica si el Parameter objeto se usa para enlazar un valor a un control o el control se puede usar para cambiar el valor. (Heredado de Parameter) |
| IsTrackingViewState |
Obtiene un valor que indica si el Parameter objeto guarda los cambios en su estado de vista. (Heredado de Parameter) |
| Name |
Obtiene o establece el nombre del parámetro . (Heredado de Parameter) |
| Size |
Obtiene o establece el tamaño del parámetro . (Heredado de Parameter) |
| Type |
Obtiene o establece el tipo del parámetro . (Heredado de Parameter) |
| ViewState |
Obtiene un diccionario de información de estado que permite guardar y restaurar el estado de vista de un Parameter objeto en varias solicitudes para la misma página. (Heredado de Parameter) |
Métodos
| Nombre | Description |
|---|---|
| Clone() |
Devuelve un duplicado de la instancia actual Parameter . (Heredado de Parameter) |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Evaluate(HttpContext, Control) |
Produce una InvalidOperationException excepción en todos los casos. |
| GetDatabaseType() |
Obtiene el DbType valor equivalente al tipo CLR de la instancia actual Parameter . (Heredado de Parameter) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| GetWhereParameters(IDynamicDataSource) |
Devuelve una colección de Parameter objetos que se generan automáticamente para las columnas de una tabla recuperando valores de cadena de consulta. |
| LoadViewState(Object) |
Restaura el estado de vista guardado previamente de la vista del origen de datos. (Heredado de Parameter) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| OnParameterChanged() |
Llama al OnParametersChanged(EventArgs) método de la ParameterCollection colección que contiene el Parameter objeto . (Heredado de Parameter) |
| SaveViewState() |
Guarda los cambios en el Parameter estado de vista del objeto desde el momento en que se devolvió la página al servidor. (Heredado de Parameter) |
| SetDirty() |
Marca el Parameter objeto para que su estado se registre en estado de vista. (Heredado de Parameter) |
| ToString() |
Convierte el valor de esta instancia en su representación de cadena equivalente. (Heredado de Parameter) |
| TrackViewState() |
Hace que el Parameter objeto realice un seguimiento de los cambios en su estado de vista para que se puedan almacenar en el objeto del ViewState control y conservarse en las solicitudes de la misma página. (Heredado de Parameter) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| ICloneable.Clone() |
Devuelve un duplicado de la instancia actual Parameter . (Heredado de Parameter) |
| IStateManager.IsTrackingViewState |
Obtiene un valor que indica si el Parameter objeto guarda los cambios en su estado de vista. (Heredado de Parameter) |
| IStateManager.LoadViewState(Object) |
Restaura el estado de vista guardado previamente de la vista del origen de datos. (Heredado de Parameter) |
| IStateManager.SaveViewState() |
Guarda los cambios en el Parameter estado de vista del objeto desde el momento en que se devolvió la página al servidor. (Heredado de Parameter) |
| IStateManager.TrackViewState() |
Hace que el Parameter objeto realice un seguimiento de los cambios en su estado de vista para que se puedan almacenar en el objeto del ViewState control y conservarse en las solicitudes de la misma página. (Heredado de Parameter) |