DataPager.QueryStringField 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置查询字符串字段的名称。
public:
property System::String ^ QueryStringField { System::String ^ get(); void set(System::String ^ value); };
[System.Web.WebCategory("Paging")]
public string QueryStringField { get; set; }
[<System.Web.WebCategory("Paging")>]
member this.QueryStringField : string with get, set
Public Property QueryStringField As String
属性值
查询字符串字段的名称。 默认值为空字符串,指示 DataPager 控件将使用 HTTP POST 命令在页面中导航。
- 属性
-
WebCategoryAttribute
示例
以下示例演示如何以声明方式在控件中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
忽略对象的属性NumericPagerFieldNextPreviousPagerField的值ButtonType。 在这种情况下,这些对象使用 HyperLink 控件创建其导航按钮。