DynamicQueryStringParameter Classe

Définition

Génère automatiquement une collection de paramètres qui est utilisée pour créer la clause Where pour le contrôle de source de données en récupérant des valeurs de chaîne de requête.

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
Héritage
DynamicQueryStringParameter
Implémente

Exemples

L’exemple suivant montre comment utiliser l’objet DynamicQueryStringParameter comme filtre lors de l’affichage de données dans un GridView contrôle. Le GridView contrôle contient un TemplateField objet qui crée un lien qui définit la valeur de chaîne de requête à l’aide de la valeur de clé étrangère.

<%@ 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>

Remarques

La DynamicQueryStringParameter classe est utilisée par les pages qui utilisent ASP.NET fonctionnalités Dynamic Data. La DynamicQueryStringParameter classe génère une collection d’objets Parameter pour les clés primaires, les clés étrangères et les colonnes booléennes d’une table en récupérant des valeurs de chaîne de requête.

Pour les clés primaires, vous pouvez simplement ajouter un DynamicQueryStringParameter objet sans fournir d’autres paramètres. Dynamic Data génère les paramètres de la ou des clés primaires. Pour les clés étrangères ou les colonnes booléennes, vous devez définir la Name propriété sur le nom de la colonne que vous souhaitez filtrer.

Pour utiliser la DynamicQueryStringParameter classe , vous devez ajouter un DynamicDataManager contrôle à la page et inscrire le contrôle lié aux données auprès du contrôle à l’aide DynamicDataManager de la DynamicDataManager.RegisterControl méthode .

Consultez un exemple de code d’exécution de cette fonctionnalité : Exécuter.

Constructeurs

DynamicQueryStringParameter()

Initialise une nouvelle instance de la classe DynamicQueryStringParameter.

Propriétés

ConvertEmptyStringToNull

Obtient ou définit une valeur indiquant si la valeur à laquelle l'objet Parameter est lié doit être convertie en null si elle est Empty.

(Hérité de Parameter)
DbType

Obtient ou définit le type de base de données du paramètre.

(Hérité de Parameter)
DefaultValue

Spécifie une valeur par défaut pour le paramètre, à condition que la valeur à laquelle le paramètre est lié à ne soit pas initialisée lorsque la méthode Evaluate(HttpContext, Control) est appelée.

(Hérité de Parameter)
Direction

Indique si l'objet Parameter est utilisé pour lier une valeur à un contrôle ou si le contrôle peut être utilisé pour modifier la valeur.

(Hérité de Parameter)
IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.

(Hérité de Parameter)
Name

Obtient ou définit le nom du paramètre.

(Hérité de Parameter)
Size

Obtient ou définit la taille du paramètre.

(Hérité de Parameter)
Type

Obtient ou définit le type du paramètre.

(Hérité de Parameter)
ViewState

Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un objet Parameter entre plusieurs demandes de la même page.

(Hérité de Parameter)

Méthodes

Clone()

Retourne un doublon de l'instance de Parameter actuelle.

(Hérité de Parameter)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Evaluate(HttpContext, Control)

Lève une exception InvalidOperationException dans tous les cas.

GetDatabaseType()

Obtient la valeur DbType qui est équivalente au type CLR de l'instance Parameter actuelle.

(Hérité de Parameter)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetWhereParameters(IDynamicDataSource)

Retourne une collection d'objets Parameter générés automatiquement pour les colonnes d'une table en extrayant des valeurs de chaîne de requête.

LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.

(Hérité de Parameter)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnParameterChanged()

Appelle la méthode OnParametersChanged(EventArgs) de la collection ParameterCollection qui contient l'objet Parameter.

(Hérité de Parameter)
SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.

(Hérité de Parameter)
SetDirty()

Marque l'objet Parameter afin que son état soit enregistré dans l'état d'affichage.

(Hérité de Parameter)
ToString()

Convertit la valeur de cette instance en sa représentation sous forme de chaîne équivalente.

(Hérité de Parameter)
TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.

(Hérité de Parameter)

Implémentations d’interfaces explicites

ICloneable.Clone()

Retourne un doublon de l'instance de Parameter actuelle.

(Hérité de Parameter)
IStateManager.IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.

(Hérité de Parameter)
IStateManager.LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.

(Hérité de Parameter)
IStateManager.SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.

(Hérité de Parameter)
IStateManager.TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.

(Hérité de Parameter)

S’applique à

Voir aussi