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á 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
- 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 |
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) |