Udostępnij za pośrednictwem


DataPager.QueryStringField Właściwość

Definicja

Pobiera lub ustawia nazwę pola ciągu zapytania.

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

Wartość właściwości

Nazwa pola ciągu zapytania. Wartość domyślna to pusty ciąg, który wskazuje, że kontrolka DataPager będzie używać polecenia HTTP POST do nawigowania po stronach.

Przykłady

W poniższym przykładzie pokazano, jak deklaratywnie ustawić QueryStringField właściwość w kontrolce DataPager w celu nawigowania po stronach przy użyciu ciągu zapytania. Ten przykład zawiera dwie DataPager kontrolki używane do stronicowania danych wyświetlanych przez jedną ListView kontrolkę.

<%@ 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>

Uwagi

QueryStringField Użyj właściwości , aby określić, że kontrolka DataPager używa polecenia HTTP GET do nawigowania po stronach. W żądaniach GET pole ciągu zapytania składające się z pary nazwa/wartość jest dodawane do adresu URL strony. Nazwa jest ustawiana przy użyciu QueryStringField właściwości . Wartość to odpowiadający mu numer strony. Jeśli QueryStringField jest pusty ciąg lub null, kontrolka używa polecenia HTTP POST do nawigowania po stronach.

Ustawienie tej właściwości jest przydatne, jeśli chcesz, aby wszystkie strony danych indeksowane przez wyszukiwarkę. Dzieje się tak, ponieważ kontrolka tworzy inny adres URL dla każdej strony danych.

Po ustawieniu QueryStringField właściwości mogą obowiązywać następujące warunki:

  • Na stronie znajduje się więcej niż jedna DataPager kontrolka, która odwołuje się do tej samej kontrolki powiązanej z danymi. W takim przypadku upewnij się, że QueryStringField właściwość tych DataPager kontrolek jest ustawiona na tę samą wartość.

  • Na stronie znajduje się więcej niż jedna DataPager kontrolka, która odwołuje się do różnych kontrolek powiązanych z danymi. W takim przypadku upewnij się, że QueryStringField właściwość tych DataPager kontrolek jest ustawiona na różne wartości. Jeśli ustawisz kontrolki DataPager na tę samą wartość, skojarzone kontrolki powiązane z danymi będą jednocześnie podzielone na strony, ponieważ będą używać tego samego pola ciągu zapytania.

Jeśli nie zastosujesz się do poprzednich wytycznych, może wystąpić nieoczekiwane zachowanie stronicowania. Jednak kontrolka nie zgłosi wyjątku.

Jeśli QueryStringField właściwość nie jest pustym ciągiem lub null, wartość ButtonType właściwości NumericPagerField lub NextPreviousPagerField obiektów jest ignorowana. W takim przypadku te obiekty używają kontrolki HyperLink do tworzenia przycisków nawigacji.

Dotyczy

Zobacz też