DynamicQueryStringParameter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Автоматически создает коллекцию параметров, которые используются для создания Where предложения для элемента управления источниками данных путем получения значений строки запроса.
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
- Наследование
- Реализации
Примеры
В следующем примере показано, как использовать DynamicQueryStringParameter объект в качестве фильтра при отображении данных в элементе GridView управления. Элемент GridView управления содержит TemplateField объект, создающий ссылку, которая задает значение строки запроса с помощью значения внешнего ключа.
<%@ 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>
Комментарии
Класс DynamicQueryStringParameter используется страницами, использующими ASP.NET функции динамических данных. Класс DynamicQueryStringParameter создаст коллекцию объектов для первичных Parameter ключей, внешних ключей и логических столбцов таблицы путем получения значений строки запроса.
Для первичных ключей можно просто добавить DynamicQueryStringParameter объект без предоставления других параметров. Динамические данные будут создавать параметры для первичного ключа или ключей. Для внешних ключей или логических столбцов необходимо задать Name для свойства имя столбца, который требуется фильтровать.
Чтобы использовать DynamicQueryStringParameter класс, необходимо добавить DynamicDataManager элемент управления на страницу и зарегистрировать элемент управления, привязанный к данным, с DynamicDataManager помощью DynamicDataManager.RegisterControl метода.
Конструкторы
| Имя | Описание |
|---|---|
| DynamicQueryStringParameter() |
Инициализирует новый экземпляр класса DynamicQueryStringParameter. |
Свойства
| Имя | Описание |
|---|---|
| ConvertEmptyStringToNull |
Возвращает или задает значение, указывающее, следует ли преобразовать объект Parameter в |
| DbType |
Возвращает или задает тип базы данных параметра. (Унаследовано от Parameter) |
| DefaultValue |
Указывает значение по умолчанию для параметра, если параметр привязан к неинициализации при вызове Evaluate(HttpContext, Control) метода. (Унаследовано от Parameter) |
| Direction |
Указывает, используется ли Parameter объект для привязки значения к элементу управления или элемент управления можно использовать для изменения значения. (Унаследовано от Parameter) |
| IsTrackingViewState |
Возвращает значение, указывающее, сохраняет ли Parameter объект изменения в состоянии представления. (Унаследовано от Parameter) |
| Name |
Возвращает или задает имя параметра. (Унаследовано от Parameter) |
| Size |
Возвращает или задает размер параметра. (Унаследовано от Parameter) |
| Type |
Возвращает или задает тип параметра. (Унаследовано от Parameter) |
| ViewState |
Получает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние Parameter представления объекта в нескольких запросах на одну и ту же страницу. (Унаследовано от Parameter) |
Методы
| Имя | Описание |
|---|---|
| Clone() |
Возвращает дубликат текущего Parameter экземпляра. (Унаследовано от Parameter) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Evaluate(HttpContext, Control) |
Создает InvalidOperationException исключение во всех случаях. |
| GetDatabaseType() |
DbType Возвращает значение, эквивалентное типу СРЕДЫ CLR текущего Parameter экземпляра. (Унаследовано от Parameter) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetWhereParameters(IDynamicDataSource) |
Возвращает коллекцию Parameter объектов, которые автоматически создаются для столбцов таблицы путем получения строковых значений запроса. |
| LoadViewState(Object) |
Восстанавливает ранее сохраненное состояние представления источника данных. (Унаследовано от Parameter) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnParameterChanged() |
OnParametersChanged(EventArgs) Вызывает метод ParameterCollection коллекции, содержащей Parameter объект. (Унаследовано от Parameter) |
| SaveViewState() |
Сохраняет изменения Parameter состояния представления объекта с момента публикации страницы на сервер. (Унаследовано от Parameter) |
| SetDirty() |
Parameter Помечает объект таким образом, чтобы его состояние было записано в состоянии представления. (Унаследовано от Parameter) |
| ToString() |
Преобразует значение этого экземпляра в эквивалентное строковое представление. (Унаследовано от Parameter) |
| TrackViewState() |
Позволяет Parameter объекту отслеживать изменения состояния представления, чтобы они могли храниться в объекте элемента управления ViewState и сохраняться в запросах на одну и ту же страницу. (Унаследовано от Parameter) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICloneable.Clone() |
Возвращает дубликат текущего Parameter экземпляра. (Унаследовано от Parameter) |
| IStateManager.IsTrackingViewState |
Возвращает значение, указывающее, сохраняет ли Parameter объект изменения в состоянии представления. (Унаследовано от Parameter) |
| IStateManager.LoadViewState(Object) |
Восстанавливает ранее сохраненное состояние представления источника данных. (Унаследовано от Parameter) |
| IStateManager.SaveViewState() |
Сохраняет изменения Parameter состояния представления объекта с момента публикации страницы на сервер. (Унаследовано от Parameter) |
| IStateManager.TrackViewState() |
Позволяет Parameter объекту отслеживать изменения состояния представления, чтобы они могли храниться в объекте элемента управления ViewState и сохраняться в запросах на одну и ту же страницу. (Унаследовано от Parameter) |