DataPager.QueryStringField プロパティ

定義

クエリ文字列フィールドの名前を取得または設定します。

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

プロパティ値

クエリ文字列フィールドの名前。 既定値は空の文字列です。DataPager コントロールでのページの移動に HTTP POST コマンドが使用されることを示します。

次の例では、クエリ文字列を使用してページ間を QueryStringField 移動するために、コントロールの DataPager プロパティを宣言的に設定する方法を示します。 この例には、1 つのコントロールによって表示されるデータをページングするために使用される 2 つのDataPagerListViewコントロールが含まれています。

<%@ 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 。 値は、対応するページ番号です。 が空の文字列または nullの場合QueryStringField、コントロールは HTTP POST コマンドを使用してページ間を移動します。

このプロパティを設定すると、検索エンジンによってインデックスが作成されたすべてのデータ ページを作成する場合に便利です。 これは、コントロールによってデータのページごとに異なる URL が生成されるために発生します。

プロパティを QueryStringField 設定すると、次の条件が適用される場合があります。

  • 1 つのページに複数の DataPager コントロールがあり、同じデータ バインド コントロールを参照しています。 その場合は、これらのDataPagerコントロールの プロパティがQueryStringField同じ値に設定されていることを確認します。

  • 1 つのページに複数の DataPager コントロールがあり、異なるデータ バインド コントロールを参照しています。 その場合は、これらのDataPagerコントロールの プロパティがQueryStringField異なる値に設定されていることを確認します。 コントロールを DataPager 同じ値に設定すると、関連付けられたデータ バインド コントロールは同じクエリ文字列フィールドを使用するため、同時にページ分割されます。

前のガイドラインに従わないと、予期しないページング動作が発生する可能性があります。 ただし、コントロールによって例外はスローされません。

property が空の文字列または でない場合QueryStringField、 または NextPreviousPagerFieldnullオブジェクトの プロパティのButtonTypeNumericPagerField値は無視されます。 その場合、これらのオブジェクトは コントロールを HyperLink 使用してナビゲーション ボタンを作成します。

適用対象

こちらもご覧ください