Partager via


DataPager.QueryStringField Propriété

Définition

Obtient ou définit le nom du champ de chaîne de requête.

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

Valeur de propriété

Nom du champ de chaîne de requête. La valeur par défaut est une chaîne vide, ce qui indique que le contrôle DataPager utilisera une commande HTTP POST pour parcourir les pages.

Exemples

L’exemple suivant montre comment définir de manière déclarative la QueryStringField propriété dans un DataPager contrôle afin de naviguer dans les pages à l’aide d’une chaîne de requête. Cet exemple contient deux DataPager contrôles utilisés pour parcourir les données affichées par un seul ListView contrôle.

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

Remarques

Utilisez la QueryStringField propriété pour spécifier que le DataPager contrôle utilise une commande HTTP GET pour parcourir les pages. Dans les requêtes GET, un champ de chaîne de requête qui se compose d’une paire nom/valeur est ajouté à l’URL de la page. Le nom est défini à l’aide de la QueryStringField propriété . La valeur est le numéro de page correspondant. Si QueryStringField est une chaîne vide ou null, le contrôle utilise une commande HTTP POST pour parcourir les pages.

La définition de cette propriété est utile si vous souhaitez que toutes les pages de données soient indexées par un moteur de recherche. Cela se produit parce que le contrôle produit une URL différente pour chaque page de données.

Lorsque vous définissez la QueryStringField propriété, les conditions suivantes peuvent s’appliquer :

  • Vous avez plusieurs DataPager contrôles dans une page et ils référencent le même contrôle lié aux données. Dans ce cas, vérifiez que la QueryStringField propriété de ces DataPager contrôles est définie sur la même valeur.

  • Vous avez plusieurs DataPager contrôles dans une page et ils référencent différents contrôles liés aux données. Dans ce cas, vérifiez que la QueryStringField propriété de ces DataPager contrôles est définie sur des valeurs différentes. Si vous définissez les DataPager contrôles sur la même valeur, les contrôles liés aux données associés sont paginés en même temps, car ils utilisent le même champ de chaîne de requête.

Si vous ne suivez pas les instructions précédentes, un comportement de pagination inattendu peut se produire. Toutefois, aucune exception ne sera levée par le contrôle.

Si QueryStringField la propriété n’est pas une chaîne vide ou null, la valeur de la ButtonType propriété des NumericPagerField objets ou NextPreviousPagerField est ignorée. Dans ce cas, ces objets utilisent le HyperLink contrôle pour créer leurs boutons de navigation.

S’applique à

Voir aussi