DataPager.QueryStringField 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置查询字符串字段的名称。
public:
property System::String ^ QueryStringField { System::String ^ get(); void set(System::String ^ value); };
public string QueryStringField { get; set; }
member this.QueryStringField : string with get, set
Public Property QueryStringField As String
属性值
查询字符串字段的名称。 默认值为空字符串,指示 DataPager 控件将使用 HTTP POST 命令在页面中导航。
示例
以下示例演示如何在控件中DataPager以声明方式设置 QueryStringField 属性,以便使用查询字符串浏览页面。 此示例包含两 DataPager 个控件,这些控件用于分页浏览由单个 ListView 控件显示的数据。
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataPager Example</title>
<style type="text/css">
th
{
background-color:#eef4fa;
border-top:solid 1px #9dbbcc;
border-bottom:solid 1px #9dbbcc;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPager QueryStringField Example</h3>
<asp:DataPager runat="server" ID="DataPager1"
PagedControlID="CountriesListView"
QueryStringField="pageNumber">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<br /><br />
<asp:ListView ID="CountriesListView"
DataSourceID="CountryDataSource"
runat="server" >
<LayoutTemplate>
<table cellpadding="4" width="500" runat="server" id="tblCountries">
<tr runat="server">
<th runat="server">Code</th>
<th runat="server">Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="CountryCodeLabel" runat="server"
Text='<%# Eval("CountryRegionCode")%>' />
</td>
<td>
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<!-- The second DataPager control. -->
<asp:DataPager runat="server" ID="DataPager2"
PagedControlID="CountriesListView"
QueryStringField="pageNumber">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="CountryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CountryRegionCode], [Name]
FROM [Person].[CountryRegion]">
</asp:SqlDataSource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataPager Example</title>
<style type="text/css">
th
{
background-color:#eef4fa;
border-top:solid 1px #9dbbcc;
border-bottom:solid 1px #9dbbcc;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPager QueryStringField Example</h3>
<asp:DataPager runat="server" ID="DataPager1"
PagedControlID="CountriesListView"
QueryStringField="pageNumber">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<br /><br />
<asp:ListView ID="CountriesListView"
DataSourceID="CountryDataSource"
runat="server" >
<LayoutTemplate>
<table cellpadding="4" width="500" runat="server" id="tblCountries">
<tr runat="server">
<th runat="server">Code</th>
<th runat="server">Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="CountryCodeLabel" runat="server"
Text='<%# Eval("CountryRegionCode")%>' />
</td>
<td>
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<!-- The second DataPager control. -->
<asp:DataPager runat="server" ID="DataPager2"
PagedControlID="CountriesListView"
QueryStringField="pageNumber">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="CountryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CountryRegionCode], [Name]
FROM [Person].[CountryRegion]">
</asp:SqlDataSource>
</form>
</body>
</html>
注解
QueryStringField使用 属性可指定DataPager控件使用 HTTP GET 命令在页面中导航。 在 GET 请求中,由名称/值对组成的查询字符串字段将添加到页面的 URL 中。 该名称是使用 属性设置的 QueryStringField 。 该值是相应的页码。 如果 QueryStringField 是空字符串或 null
,则控件使用 HTTP POST 命令在页面中导航。
如果希望让搜索引擎索引所有数据页面,则设置此属性非常有用。 发生这种情况的原因是控件为每个数据页生成不同的 URL。
设置 QueryStringField 属性时,可能适用以下条件:
一个页面中有多个 DataPager 控件,它们引用相同的数据绑定控件。 在这种情况下,请确保 QueryStringField 这些 DataPager 控件的 属性设置为相同的值。
一个页面中有多个 DataPager 控件,它们引用不同的数据绑定控件。 在这种情况下,请确保 QueryStringField 这些 DataPager 控件的 属性设置为不同的值。 如果将控件设置为 DataPager 相同的值,则关联的数据绑定控件将同时进行分页,因为它们将使用相同的查询字符串字段。
如果不遵循前面的准则,可能会出现意外的分页行为。 但是,控件不会引发任何异常。
如果 QueryStringField 属性不是空字符串或 null
,则忽略 或 NextPreviousPagerField 对象的 属性NumericPagerField的值ButtonType。 在这种情况下,这些对象使用 HyperLink 控件创建其导航按钮。