DataPagerField 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
作為資料頁面巡覽區欄位類型的基底類別,代表 DataPager 控制項的導覽控制項。
public ref class DataPagerField abstract : System::Web::UI::IStateManager
public abstract class DataPagerField : System.Web.UI.IStateManager
type DataPagerField = class
interface IStateManager
Public MustInherit Class DataPagerField
Implements IStateManager
- 繼承
-
DataPagerField
- 衍生
- 實作
範例
下列範例示範如何使用 NextPreviousPagerField、 NumericPagerField和 TemplatePagerField 物件,在控件中 DataPager 顯示頁面導覽控件。 物件衍生自 DataPagerField 類別。
<%@ 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>DataPagerField Example</title>
<style type="text/css">
body
{
text-align: center;
font: 13px Tahoma, Arial, Helvetica;
}
.item
{
border-bottom: solid 1px #FFA500;
font-weight:bold;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPagerField Example</h3>
<asp:ListView ID="ProductsListView"
DataSourceID="ContactsDataSource"
runat="server">
<LayoutTemplate>
<table runat="server" id="tblProducts" width="350">
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="NameLabel" runat="server"
Text='<%#Eval("Name") %>' />
</td>
</tr>
<tr runat="server">
<td>
<asp:Label ID="DescriptionLabel" runat="server"
Text='<%#Eval("Description")%>' />
</td>
</tr>
</ItemTemplate>
<ItemSeparatorTemplate>
<tr runat="server">
<td> </td>
</tr>
</ItemSeparatorTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ProductsDataPager"
PageSize="5"
PagedControlID="ProductsListView">
<Fields>
<asp:TemplatePagerField>
<PagerTemplate>
<b>
Page
<asp:Label runat="server" ID="CurrentPageLabel"
Text="<%# Container.TotalRowCount>0 ? (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
of
<asp:Label runat="server" ID="TotalPagesLabel"
Text="<%# Math.Ceiling ((double)Container.TotalRowCount / Container.PageSize) %>" />
</b>
<br /><br />
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField
PreviousPageText="<<"
NextPageText=">>"
ButtonCount="10" />
<asp:NextPreviousPagerField
ShowLastPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
</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="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT P.Name, PD.Description
FROM Production.ProductModel AS PM
INNER JOIN Production.Product AS P ON PM.ProductModelID = P.ProductModelID
INNER JOIN Production.ProductModelProductDescriptionCulture AS PMPDC
ON PM.ProductModelID = PMPDC.ProductModelID
INNER JOIN Production.ProductDescription AS PD
ON PMPDC.ProductDescriptionID = PD.ProductDescriptionID
WHERE (PMPDC.CultureID = 'en')">
</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>DataPagerField Example</title>
<style type="text/css">
body
{
text-align: center;
font: 13px Tahoma, Arial, Helvetica;
}
.item
{
border-bottom: solid 1px #FFA500;
font-weight:bold;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>DataPagerField Example</h3>
<asp:ListView ID="ProductsListView"
DataSourceID="ContactsDataSource"
runat="server">
<LayoutTemplate>
<table runat="server" id="tblProducts" width="350">
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="NameLabel" runat="server"
Text='<%#Eval("Name") %>' />
</td>
</tr>
<tr runat="server">
<td>
<asp:Label ID="DescriptionLabel" runat="server"
Text='<%#Eval("Description")%>' />
</td>
</tr>
</ItemTemplate>
<ItemSeparatorTemplate>
<tr runat="server">
<td> </td>
</tr>
</ItemSeparatorTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ProductsDataPager"
PageSize="5"
PagedControlID="ProductsListView">
<Fields>
<asp:TemplatePagerField>
<PagerTemplate>
<b>
Page
<asp:Label runat="server" ID="CurrentPageLabel"
Text="<%# IIf(Container.TotalRowCount>0, (Container.StartRowIndex / Container.PageSize) + 1, 0) %>" />
of
<asp:Label runat="server" ID="TotalPagesLabel"
Text="<%# Math.Ceiling (System.Convert.ToDouble(Container.TotalRowCount) / Container.PageSize) %>" />
</b>
<br /><br />
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField
PreviousPageText="<<"
NextPageText=">>"
ButtonCount="10" />
<asp:NextPreviousPagerField
ShowLastPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
</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="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT P.Name, PD.Description
FROM Production.ProductModel AS PM
INNER JOIN Production.Product AS P ON PM.ProductModelID = P.ProductModelID
INNER JOIN Production.ProductModelProductDescriptionCulture AS PMPDC
ON PM.ProductModelID = PMPDC.ProductModelID
INNER JOIN Production.ProductDescription AS PD
ON PMPDC.ProductDescriptionID = PD.ProductDescriptionID
WHERE (PMPDC.CultureID = 'en')">
</asp:SqlDataSource>
</form>
</body>
</html>
備註
類別 DataPagerField 可作為所有數據頁面巡覽區字段類型的基類。 控制器會使用 DataPager 數據呼叫器字段來代表導覽控件。
使用衍生自 DataPagerField 的類別來選取控件中顯示的 DataPager 呼叫器類型。 下表列出可用的數據呼叫器欄位類型。
呼叫器欄位類型 | 描述 |
---|---|
NextPreviousPagerField | 讓使用者一次流覽一頁的數據頁,或跳至第一個或最後一頁。 |
NumericPagerField | 讓使用者依頁碼選取頁面。 |
TemplatePagerField | 可讓頁面開發人員建立自定義分頁 UI。 |
您可以從 類別衍生 DataPagerField ,以建立其他呼叫器字段類型。
給實施者的注意事項
當您繼承自 類別時 DataPagerField ,必須覆寫下列成員:
建構函式
DataPagerField() |
初始化 DataPagerField 類別的新執行個體。 |
屬性
DataPager |
取得與 DataPagerField 物件關聯之資料頁面巡覽區的參考。 |
IsTrackingViewState |
取得值,這個值表示 DataPagerField 物件是否正在追蹤它的檢視狀態變更。 |
QueryStringHandled |
取得或設定值,這個值表示是否已評估查詢字串欄位。 |
QueryStringValue |
從要求的 URL 取得查詢字串欄位的值。 |
ViewState |
取得狀態資訊的字典,可讓您在相同頁面的多個要求之間儲存和還原 DataPagerField 物件的檢視狀態。 |
Visible |
取得或設定值,這個值表示是否呈現資料頁面巡覽區欄位。 |
方法
CloneField() |
建立衍生自 DataPagerField 之目前物件的複本。 |
CopyProperties(DataPagerField) |
將衍生自 DataPagerField 之目前物件的屬性複製至指定的 DataPagerField 物件。 |
CreateDataPagers(DataPagerFieldItem, Int32, Int32, Int32, Int32) |
在衍生類別中遭覆寫時,建立資料頁面巡覽區欄位物件的使用者介面 (UI) 控制項,並將它們加入至指定的容器。 |
CreateField() |
在衍生類別中遭覆寫時,建立實際上是衍生 DataPagerField 的空物件。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetQueryStringNavigateUrl(Int32) |
建立 URL,這個 URL 包含含有所指定頁碼的查詢字串欄位。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
HandleEvent(CommandEventArgs) |
在衍生類別中遭覆寫時,處理資料頁面巡覽區欄位物件中發生的事件。 |
LoadViewState(Object) |
還原先前儲存的檢視狀態資訊。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
OnFieldChanged() |
引發 |
SaveViewState() |
儲存 DataPagerField 物件的檢視狀態變更。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
TrackViewState() |
讓 DataPagerField 追蹤其檢視狀態變更,以將變更儲存在控制項的 ViewState 物件中,並在相同頁面的其他要求之間保存。 |
明確介面實作
IStateManager.IsTrackingViewState |
取得值,這個值表示 DataPagerField 物件是否正在追蹤它的檢視狀態變更。 |
IStateManager.LoadViewState(Object) |
還原先前儲存的檢視狀態資訊。 |
IStateManager.SaveViewState() |
儲存 DataPagerField 物件的檢視狀態變更。 |
IStateManager.TrackViewState() |
讓 DataPagerField 追蹤其檢視狀態變更,以將變更儲存在控制項的 ViewState 物件中,並在相同頁面的其他要求之間保存。 |