DataPager.QueryStringField 属性

定义

获取或设置查询字符串字段的名称。

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

属性值

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 控件创建其导航按钮。

适用于

另请参阅