Share via


DynamicQueryStringParameter Třída

Definice

Automaticky vygeneruje kolekci parametrů, která se používá k vytvoření Where klauzule pro ovládací prvek zdroje dat načtením hodnot řetězců dotazu.

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
Dědičnost
DynamicQueryStringParameter
Implementuje

Příklady

Následující příklad ukazuje, jak použít DynamicQueryStringParameter objekt jako filtr při zobrazení dat v ovládacím GridView prvku. Ovládací GridView prvek obsahuje TemplateField objekt, který vytvoří propojení, které nastaví hodnotu řetězce dotazu pomocí hodnoty cizího klíče.

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

Poznámky

Třída DynamicQueryStringParameter je používána stránkami, které používají ASP.NET funkce dynamických dat. Třída DynamicQueryStringParameter vygeneruje kolekci Parameter objektů pro primární klíče, cizí klíče a logické sloupce tabulky načtením hodnot řetězce dotazu.

U primárních klíčů můžete jednoduše přidat DynamicQueryStringParameter objekt bez zadání dalších parametrů. Dynamická data vygenerují parametry pro primární klíč nebo klíče. U cizích klíčů nebo logických sloupců je nutné nastavit Name vlastnost na název sloupce, který chcete filtrovat.

Chcete-li použít DynamicQueryStringParameter třídu, musíte přidat DynamicDataManager ovládací prvek na stránku a registrovat ovládací prvek vázaný na data s ovládacím DynamicDataManager prvku pomocí DynamicDataManager.RegisterControl metody .

Podívejte se na příklad kódu za běhu této funkce: Spustit.

Konstruktory

DynamicQueryStringParameter()

Inicializuje novou instanci DynamicQueryStringParameter třídy .

Vlastnosti

ConvertEmptyStringToNull

Získá nebo nastaví hodnotu označující, zda má být hodnota, se kterou Parameter je objekt vázán, převedena na null , pokud je Empty.

(Zděděno od Parameter)
DbType

Získá nebo nastaví typ databáze parametru.

(Zděděno od Parameter)
DefaultValue

Určuje výchozí hodnotu parametru, pokud by hodnota, kterou je parametr vázán být neinicializován při Evaluate(HttpContext, Control) zavolání metody.

(Zděděno od Parameter)
Direction

Určuje, zda se Parameter objekt používá k vytvoření vazby hodnoty na ovládací prvek nebo zda lze ovládací prvek použít ke změně hodnoty.

(Zděděno od Parameter)
IsTrackingViewState

Získá hodnotu označující, zda Parameter objekt ukládá změny do stavu zobrazení.

(Zděděno od Parameter)
Name

Získá nebo nastaví název parametru.

(Zděděno od Parameter)
Size

Získá nebo nastaví velikost parametru.

(Zděděno od Parameter)
Type

Získá nebo nastaví typ parametru.

(Zděděno od Parameter)
ViewState

Získá slovník informací o stavu, který umožňuje uložit a obnovit stav zobrazení objektu Parameter v rámci více požadavků na stejnou stránku.

(Zděděno od Parameter)

Metody

Clone()

Vrátí duplikát aktuální Parameter instance.

(Zděděno od Parameter)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Evaluate(HttpContext, Control)

InvalidOperationException Ve všech případech vyvolá výjimku.

GetDatabaseType()

DbType Získá hodnotu, která je ekvivalentní typu CLR aktuální Parameter instance.

(Zděděno od Parameter)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetWhereParameters(IDynamicDataSource)

Vrátí kolekci Parameter objektů, které jsou automaticky generovány pro sloupce tabulky načtením řetězcových hodnot dotazu.

LoadViewState(Object)

Obnoví dříve uložený stav zobrazení zdroje dat.

(Zděděno od Parameter)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnParameterChanged()

Volá metodu OnParametersChanged(EventArgs)ParameterCollection kolekce, která obsahuje Parameter objekt .

(Zděděno od Parameter)
SaveViewState()

Uloží změny stavu zobrazení objektu Parameter od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od Parameter)
SetDirty()

Označí Parameter objekt tak, aby se jeho stav zaznamenal ve stavu zobrazení.

(Zděděno od Parameter)
ToString()

Převede hodnotu této instance na její odpovídající řetězcovou reprezentaci.

(Zděděno od Parameter)
TrackViewState()

Způsobí, že Parameter objekt sleduje změny stavu zobrazení, aby mohly být uloženy v objektu ovládacího prvku ViewState a trvale zachovány v požadavcích na stejnou stránku.

(Zděděno od Parameter)

Explicitní implementace rozhraní

ICloneable.Clone()

Vrátí duplikát aktuální Parameter instance.

(Zděděno od Parameter)
IStateManager.IsTrackingViewState

Získá hodnotu označující, zda Parameter objekt ukládá změny do stavu zobrazení.

(Zděděno od Parameter)
IStateManager.LoadViewState(Object)

Obnoví dříve uložený stav zobrazení zdroje dat.

(Zděděno od Parameter)
IStateManager.SaveViewState()

Uloží změny stavu zobrazení objektu Parameter od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od Parameter)
IStateManager.TrackViewState()

Způsobí, že Parameter objekt sleduje změny stavu zobrazení, aby mohly být uloženy v objektu ovládacího prvku ViewState a trvale zachovány v požadavcích na stejnou stránku.

(Zděděno od Parameter)

Platí pro

Viz také