DynamicQueryStringParameter Clase

Definición

Genera automáticamente una colección de parámetros que se utiliza para crear la cláusula Where para el control de origen de datos mediante la recuperación de 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
DynamicQueryStringParameter
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 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, las claves externas y las columnas booleanas de una tabla recuperando valores de cadena de consulta.

En el caso de 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 las 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 .

Vea un ejemplo de código en tiempo de ejecución de esta característica: Ejecutar.

Constructores

DynamicQueryStringParameter()

Inicializa una nueva instancia de la clase DynamicQueryStringParameter.

Propiedades

ConvertEmptyStringToNull

Obtiene o establece un valor que indica si el valor al que está enlazado el objeto Parameter debe convertirse a null si es Empty.

(Heredado de Parameter)
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 al que está enlazado el parámetro no debe estar inicializado cuando se llame al método Evaluate(HttpContext, Control).

(Heredado de Parameter)
Direction

Indica si el objeto Parameter se utiliza para enlazar un valor a un control o si se puede utilizar el control para cambiar el valor.

(Heredado de Parameter)
IsTrackingViewState

Obtiene un valor que indica si el objeto Parameter está guardando 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 de parámetro.

(Heredado de Parameter)
ViewState

Obtiene un diccionario con información de estado que permite guardar y restaurar el estado de vista de un objeto Parameter en las distintas solicitudes de la misma página.

(Heredado de Parameter)

Métodos

Clone()

Devuelve un duplicado de la instancia Parameter actual.

(Heredado de Parameter)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Evaluate(HttpContext, Control)

Produce una excepción InvalidOperationException en todos los casos.

GetDatabaseType()

Obtiene el valor DbType que es equivalente al tipo CLR de la instancia Parameter actual.

(Heredado de Parameter)
GetHashCode()

Sirve como la 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 objetos Parameter que se generan automáticamente para las columnas de una tabla mediante la recuperación de valores de cadena de consulta.

LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de Parameter)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnParameterChanged()

Llama al método OnParametersChanged(EventArgs) de la colección ParameterCollection que contiene el objeto Parameter.

(Heredado de Parameter)
SaveViewState()

Guarda los cambios realizados en el estado de la vista del objeto Parameter desde el momento en que se devolvió la página al servidor.

(Heredado de Parameter)
SetDirty()

Marca el objeto Parameter para que su estado se registre en el estado de vista.

(Heredado de Parameter)
ToString()

Convierte el valor de esta instancia en la representación de cadena equivalente.

(Heredado de Parameter)
TrackViewState()

Hace que el objeto Parameter realice el seguimiento de los cambios en su estado de vista, de modo que puedan almacenarse en el objeto ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de Parameter)

Implementaciones de interfaz explícitas

ICloneable.Clone()

Devuelve un duplicado de la instancia Parameter actual.

(Heredado de Parameter)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si el objeto Parameter está guardando los cambios en su estado de vista.

(Heredado de Parameter)
IStateManager.LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de Parameter)
IStateManager.SaveViewState()

Guarda los cambios realizados en el estado de la vista del objeto Parameter desde el momento en que se devolvió la página al servidor.

(Heredado de Parameter)
IStateManager.TrackViewState()

Hace que el objeto Parameter realice el seguimiento de los cambios en su estado de vista, de modo que puedan almacenarse en el objeto ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de Parameter)

Se aplica a

Consulte también