DynamicQueryStringParameter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Automaticky vygeneruje kolekci parametrů, které slouží k vytvoření Where klauzule pro řízení zdroje dat načtením hodnot řetězce 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
- 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 primárního klíče nebo klíčů. 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 musíte zaregistrovat ovládací prvek svázaný s daty ovládací prvek DynamicDataManager pomocí DynamicDataManager.RegisterControl metody.
Konstruktory
| Name | Description |
|---|---|
| DynamicQueryStringParameter() |
Inicializuje novou instanci DynamicQueryStringParameter třídy. |
Vlastnosti
| Name | Description |
|---|---|
| ConvertEmptyStringToNull |
Získá nebo nastaví hodnotu určující, zda hodnota, na kterou Parameter je objekt vázán, by měla být převedena na |
| DbType |
Získá nebo nastaví typ databáze parametru. (Zděděno od Parameter) |
| DefaultValue |
Určuje výchozí hodnotu parametru, pokud má být parametr vázán na neinicializaci při Evaluate(HttpContext, Control) zavolání metody. (Zděděno od Parameter) |
| Direction |
Určuje, zda Parameter se objekt používá k vytvoření vazby hodnoty k ovládacímu prvku, nebo lze použít ke změně hodnoty. (Zděděno od Parameter) |
| IsTrackingViewState |
Získá hodnotu určující, zda Parameter objekt ukládá změny do jeho 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 napříč více požadavky na stejnou stránku. (Zděděno od Parameter) |
Metody
| Name | Description |
|---|---|
| Clone() |
Vrátí duplikát aktuální Parameter instance. (Zděděno od Parameter) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| Evaluate(HttpContext, Control) |
InvalidOperationException Vyvolá výjimku ve všech případech. |
| GetDatabaseType() |
DbType Získá hodnotu, která je ekvivalentní typu CLR aktuální Parameter instance. (Zděděno od Parameter) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetWhereParameters(IDynamicDataSource) |
Vrátí kolekci Parameter objektů, které se automaticky generují pro sloupce tabulky načtením hodnot řetězce 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 Object. (Zděděno od Object) |
| OnParameterChanged() |
OnParametersChanged(EventArgs) Volá metodu ParameterCollection kolekce, která obsahuje Parameter objekt. (Zděděno od Parameter) |
| SaveViewState() |
Uloží změny do stavu zobrazení objektu Parameter od doby, kdy byla stránka odeslána zpět na server. (Zděděno od Parameter) |
| SetDirty() |
Parameter Označí objekt tak, aby byl jeho stav zaznamenán ve stavu zobrazení. (Zděděno od Parameter) |
| ToString() |
Převede hodnotu této instance na ekvivalentní řetězcové vyjádření. (Zděděno od Parameter) |
| TrackViewState() |
Způsobí, že Parameter objekt bude sledovat změny jeho stavu zobrazení, aby je bylo možné uložit do objektu ViewState ovládacího prvku a zachovat napříč požadavky na stejnou stránku. (Zděděno od Parameter) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICloneable.Clone() |
Vrátí duplikát aktuální Parameter instance. (Zděděno od Parameter) |
| IStateManager.IsTrackingViewState |
Získá hodnotu určující, zda Parameter objekt ukládá změny do jeho 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 do stavu zobrazení objektu Parameter od doby, kdy byla stránka odeslána zpět na server. (Zděděno od Parameter) |
| IStateManager.TrackViewState() |
Způsobí, že Parameter objekt bude sledovat změny jeho stavu zobrazení, aby je bylo možné uložit do objektu ViewState ovládacího prvku a zachovat napříč požadavky na stejnou stránku. (Zděděno od Parameter) |