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

Примеры

В следующем примере показано, как декларативно задать QueryStringField свойство в DataPager элементе управления для перехода по страницам с помощью строки запроса. В этом примере содержатся два 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значение ButtonType свойства NumericPagerField или NextPreviousPagerField объектов игнорируется. В этом случае эти объекты используют HyperLink элемент управления для создания кнопок навигации.

Применяется к

См. также раздел