AspNetPager分頁控件源代碼(Version 4.2)第2/2頁
更新時(shí)間:2007年04月28日 00:00:00 作者:
#region IPostBackDataHandler Implementation
/// <summary>
/// 實(shí)現(xiàn) <see cref="IPostBackDataHandler"/> 接口,為 <see cref="AspNetPager"/> 服務(wù)器控件處理回發(fā)數(shù)據(jù)。
/// </summary>
/// <param name="pkey">控件的主要標(biāo)識符。</param>
/// <param name="pcol">所有傳入名稱值的集合。</param>
/// <returns></returns>
public virtual bool LoadPostData(string pkey,NameValueCollection pcol)
{
string str=pcol[this.UniqueID+"_input"];
if(str!=null&&str.Trim().Length>0)
{
try
{
int pindex=int.Parse(str);
if(pindex>0&&pindex<=PageCount)
{
inputPageIndex=str;
Page.RegisterRequiresRaiseEvent(this);
}
}
catch
{}
}
return false;
}
/// <summary>
/// 實(shí)現(xiàn) <see cref="IPostBackDataHandler"/> 接口,用信號要求服務(wù)器控件對象通知 ASP.NET 應(yīng)用程序該控件的狀態(tài)已更改。
/// </summary>
public virtual void RaisePostDataChangedEvent(){}
#endregion
#region PageChanged Event
/// <summary>
/// 當(dāng)頁導(dǎo)航元素之一被單擊或用戶手工輸入頁索引提交時(shí)發(fā)生。
/// </summary>
/// <example>下面的示例顯示如何為PageChanged事件指定和編寫事件處理程序,在該事件處理程序中重新綁定DataGrid上顯示的數(shù)據(jù):
/// <code><![CDATA[
///<%@ Page Language="C#"%>
///<%@ Import Namespace="System.Data"%>
///<%@Import Namespace="System.Data.SqlClient"%>
///<%@Import Namespace="System.Configuration"%>
///<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
///<HTML>
///<HEAD>
///<TITLE>Welcome to Webdiyer.com </TITLE>
/// <script runat="server">
/// SqlConnection conn;
/// SqlCommand cmd;
/// void Page_Load(object src,EventArgs e)
/// {
/// conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
/// if(!Page.IsPostBack)
/// {
/// cmd=new SqlCommand("GetNews",conn);
/// cmd.CommandType=CommandType.StoredProcedure;
/// cmd.Parameters.Add("@pageindex",1);
/// cmd.Parameters.Add("@pagesize",1);
/// cmd.Parameters.Add("@docount",true);
/// conn.Open();
/// pager.RecordCount=(int)cmd.ExecuteScalar();
/// conn.Close();
/// BindData();
/// }
/// }
///
/// void BindData()
/// {
/// cmd=new SqlCommand("GetNews",conn);
/// cmd.CommandType=CommandType.StoredProcedure;
/// cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
/// cmd.Parameters.Add("@pagesize",pager.PageSize);
/// cmd.Parameters.Add("@docount",false);
/// conn.Open();
/// dataGrid1.DataSource=cmd.ExecuteReader();
/// dataGrid1.DataBind();
/// conn.Close();
/// }
/// void ChangePage(object src,PageChangedEventArgs e)
/// {
/// pager.CurrentPageIndex=e.NewPageIndex;
/// BindData();
/// }
/// </script>
/// <meta http-equiv="Content-Language" content="zh-cn">
/// <meta http-equiv="content-type" content="text/html;charset=gb2312">
/// <META NAME="Generator" CONTENT="EditPlus">
/// <META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
/// </HEAD>
/// <body>
/// <form runat="server" ID="Form1">
/// <asp:DataGrid id="dataGrid1" runat="server" />
/// <Webdiyer:AspNetPager id="pager" runat="server" PageSize="8" NumericButtonCount="8" ShowCustomInfoSection="before" ShowInputBox="always" CssClass="mypager" HorizontalAlign="center" OnPageChanged="ChangePage" />
/// </form>
/// </body>
///</HTML>
/// ]]>
/// </code>
/// <p>該示例所用的Sql Server存儲過程代碼如下:</p>
/// <code>
/// <![CDATA[
///CREATE procedure GetNews
/// (@pagesize int,
/// @pageindex int,
/// @docount bit)
/// as
/// set nocount on
/// if(@docount=1)
/// select count(id) from news
/// else
/// begin
/// declare @indextable table(id int identity(1,1),nid int)
/// declare @PageLowerBound int
/// declare @PageUpperBound int
/// set @PageLowerBound=(@pageindex-1)*@pagesize
/// set @PageUpperBound=@PageLowerBound+@pagesize
/// set rowcount @PageUpperBound
/// insert into @indextable(nid) select id from news order by addtime desc
/// select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
/// and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
/// end
/// set nocount off
///GO
/// ]]>
/// </code>
///</example>
public event PageChangedEventHandler PageChanged;
#endregion
#region OnPageChanged Method
/// <summary>
/// 引發(fā) <see cref="PageChanged"/> 事件。這使您可以為事件提供自定義處理程序。
/// </summary>
/// <param name="e">一個(gè) <see cref="PageChangedEventArgs"/>,它包含事件數(shù)據(jù)。</param>
protected virtual void OnPageChanged(PageChangedEventArgs e)
{
if(this.PageChanged!=null)
PageChanged(this,e);
}
#endregion
}
#endregion
#region PageChangedEventHandler Delegate
/// <summary>
/// 表示處理 <see cref="AspNetPager.PageChanged"/> 事件的方法。
/// </summary>
public delegate void PageChangedEventHandler(object src,PageChangedEventArgs e);
#endregion
#region PageChangedEventArgs Class
/// <summary>
/// 為 <see cref="AspNetPager"/> 控件的 <see cref="AspNetPager.PageChanged"/> 事件提供數(shù)據(jù)。無法繼承此類。
/// </summary>
/// <remarks>
/// 當(dāng) <see cref="AspNetPager"/> 控件的頁導(dǎo)航元素之一被單擊或用戶輸入頁索引提交時(shí)引發(fā) <see cref="AspNetPager.PageChanged"/> 事件。
/// <p>有關(guān) PageChangedEventArgs 實(shí)例的初始屬性值列表,請參閱 PageChangedEventArgs 構(gòu)造函數(shù)。</p>
/// </remarks>
public sealed class PageChangedEventArgs:EventArgs
{
private readonly int _newpageindex;
/// <summary>
/// 使用新頁面索引初始化 PageChangedEventArgs 類的新實(shí)例。
/// </summary>
/// <param name="newPageIndex">用戶從 <see cref="AspNetPager"/> 控件的頁選擇元素選定的或在頁索引文本框中手工輸入的頁的索引。</param>
public PageChangedEventArgs(int newPageIndex)
{
this._newpageindex=newPageIndex;
}
/// <summary>
/// 獲取用戶在 <see cref="AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中手工輸入的頁的索引。
/// </summary>
///<value>用戶在 <see cref="AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
///</value>
///<remarks>
///使用 NewPageIndex 屬性確定用戶在 <see cref="AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
///該值常用于設(shè)置要顯示選定頁的 AspNetPager 控件的 <see cref="AspNetPager.CurrentPageIndex"/> 屬性。
///</remarks>
///<example>
/// 下面的示例顯示如何使用 NewPageIndex 屬性確定用戶在 <see cref="AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
///該值然后用于設(shè)置要顯示選定頁的 AspNetPager 控件的 <see cref="AspNetPager.CurrentPageIndex"/> 屬性,并對數(shù)據(jù)顯示控件重新綁定數(shù)據(jù)。
/// <code><![CDATA[
///<%@ Page Language="C#"%>
///<%@ Import Namespace="System.Data"%>
///<%@Import Namespace="System.Data.SqlClient"%>
///<%@Import Namespace="System.Configuration"%>
///<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
///<HTML>
///<HEAD>
///<TITLE>Welcome to Webdiyer.com </TITLE>
/// <script runat="server">
/// SqlConnection conn;
/// SqlCommand cmd;
/// void Page_Load(object src,EventArgs e)
/// {
/// conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
/// if(!Page.IsPostBack)
/// {
/// cmd=new SqlCommand("GetNews",conn);
/// cmd.CommandType=CommandType.StoredProcedure;
/// cmd.Parameters.Add("@pageindex",1);
/// cmd.Parameters.Add("@pagesize",1);
/// cmd.Parameters.Add("@docount",true);
/// conn.Open();
/// pager.RecordCount=(int)cmd.ExecuteScalar();
/// conn.Close();
/// BindData();
/// }
/// }
///
/// void BindData()
/// {
/// cmd=new SqlCommand("GetNews",conn);
/// cmd.CommandType=CommandType.StoredProcedure;
/// cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
/// cmd.Parameters.Add("@pagesize",pager.PageSize);
/// cmd.Parameters.Add("@docount",false);
/// conn.Open();
/// dataGrid1.DataSource=cmd.ExecuteReader();
/// dataGrid1.DataBind();
/// conn.Close();
/// }
/// void ChangePage(object src,PageChangedEventArgs e)
/// {
/// pager.CurrentPageIndex=e.NewPageIndex;
/// BindData();
/// }
/// </script>
/// <meta http-equiv="Content-Language" content="zh-cn">
/// <meta http-equiv="content-type" content="text/html;charset=gb2312">
/// <META NAME="Generator" CONTENT="EditPlus">
/// <META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
/// </HEAD>
/// <body>
/// <form runat="server" ID="Form1">
/// <asp:DataGrid id="dataGrid1" runat="server" />
///
/// <Webdiyer:AspNetPager id="pager"
/// runat="server"
/// PageSize="8"
/// NumericButtonCount="8"
/// ShowCustomInfoSection="before"
/// ShowInputBox="always"
/// CssClass="mypager"
/// HorizontalAlign="center"
/// OnPageChanged="ChangePage" />
///
/// </form>
/// </body>
///</HTML>
/// ]]>
/// </code>
/// <p>下面是該示例所用的Sql Server存儲過程:</p>
/// <code>
/// <![CDATA[
///CREATE procedure GetNews
/// (@pagesize int,
/// @pageindex int,
/// @docount bit)
/// as
/// set nocount on
/// if(@docount=1)
/// select count(id) from news
/// else
/// begin
/// declare @indextable table(id int identity(1,1),nid int)
/// declare @PageLowerBound int
/// declare @PageUpperBound int
/// set @PageLowerBound=(@pageindex-1)*@pagesize
/// set @PageUpperBound=@PageLowerBound+@pagesize
/// set rowcount @PageUpperBound
/// insert into @indextable(nid) select id from news order by addtime desc
/// select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
/// and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
/// end
/// set nocount off
///GO
/// ]]>
/// </code>
///</example>
public int NewPageIndex
{
get{return _newpageindex;}
}
}
#endregion
#region ShowInputBox,ShowCustomInfoSection and PagingButtonType Enumerations
/// <summary>
/// 指定頁索引輸入文本框的顯示方式,以便用戶可以手工輸入頁索引。
/// </summary>
public enum ShowInputBox:byte
{
/// <summary>
/// 從不顯示頁索引輸入文本框。
/// </summary>
Never,
/// <summary>
/// 自動(dòng),選擇此項(xiàng)后可以用 <see cref="AspNetPager.ShowBoxThreshold"/> 可控制當(dāng)總頁數(shù)達(dá)到多少時(shí)自動(dòng)顯示頁索引輸入文本框。
/// </summary>
Auto,
/// <summary>
/// 總是顯示頁索引輸入文本框。
/// </summary>
Always}
/// <summary>
/// 指定當(dāng)前頁索引和總頁數(shù)信息的顯示方式。
/// </summary>
public enum ShowCustomInfoSection:byte
{
/// <summary>
/// 不顯示。
/// </summary>
Never,
/// <summary>
/// 顯示在頁導(dǎo)航元素之前。
/// </summary>
Left,
/// <summary>
/// 顯示在頁導(dǎo)航元素之后。
/// </summary>
Right}
/// <summary>
/// 指定頁導(dǎo)航按鈕的類型。
/// </summary>
public enum PagingButtonType:byte
{
/// <summary>
/// 使用文字按鈕。
/// </summary>
Text,
/// <summary>
/// 使用圖片按鈕。
/// </summary>
Image
}
#endregion
#region AspNetPager Control Designer
/// <summary>
/// <see cref="AspNetPager"/> 服務(wù)器控件設(shè)計(jì)器。
/// </summary>
public class PagerDesigner:System.Web.UI.Design.WebControls.PanelDesigner
{
/// <summary>
/// 初始化 PagerDesigner 的新實(shí)例。
/// </summary>
public PagerDesigner()
{
this.ReadOnly=true;
}
private AspNetPager wb;
/// <summary>
/// 獲取用于在設(shè)計(jì)時(shí)表示關(guān)聯(lián)控件的 HTML。
/// </summary>
/// <returns>用于在設(shè)計(jì)時(shí)表示控件的 HTML。</returns>
public override string GetDesignTimeHtml()
{
wb=(AspNetPager)Component;
wb.RecordCount=225;
StringWriter sw=new StringWriter();
HtmlTextWriter writer=new HtmlTextWriter(sw);
wb.RenderControl(writer);
return sw.ToString();
}
/// <summary>
/// 獲取在呈現(xiàn)控件時(shí)遇到錯(cuò)誤后在設(shè)計(jì)時(shí)為指定的異常顯示的 HTML。
/// </summary>
/// <param name="e">要為其顯示錯(cuò)誤信息的異常。</param>
/// <returns>設(shè)計(jì)時(shí)為指定的異常顯示的 HTML。</returns>
protected override string GetErrorDesignTimeHtml(Exception e)
{
string errorstr="創(chuàng)建控件時(shí)出錯(cuò)!"+e.Message;
return CreatePlaceHolderDesignTimeHtml(errorstr);
}
}
#endregion
}
asp.net page xml文件:
<?xml version="1.0"?>
<doc>
<assembly>
<name>AspNetPager</name>
</assembly>
<members>
<member name="T:Wuqi.Webdiyer.AspNetPager">
<summary>
用于ASP.NET Web應(yīng)用程序中對數(shù)據(jù)進(jìn)行分頁的的服務(wù)器控件。
</summary>
<remarks>不同于DataGrid控件,AspNetPager分頁控件本身并不顯示任何數(shù)據(jù),而只顯示頁導(dǎo)航元素,數(shù)據(jù)在頁面上的顯示方式與該控件無關(guān)。該控件可以為DataGrid、DataList、Repeater以及自定義控件進(jìn)行分頁,配合Sql存儲過程,分頁性能較使用DataGrid分頁有明顯提升,尤其是當(dāng)數(shù)據(jù)量大時(shí)性能可提升數(shù)倍!
<p>AspNetPager 2.0 中新增了通過Url來分頁的功能,這使得訪問者可以直接輸入相應(yīng)的Url來訪問任何頁面,并且搜索引擎也可以直接檢索每個(gè)頁面,若使用DataGrid的分頁功能,這是無法實(shí)現(xiàn)的。</p>
<p>要使用 AspNetPager 分頁控件,必須最少指定它的 <see cref="P:Wuqi.Webdiyer.AspNetPager.RecordCount"/> 屬性,指定并編寫 <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件的處理程序。
<see cref="P:Wuqi.Webdiyer.AspNetPager.RecordCount"/> 屬性指定要分頁的所有數(shù)據(jù)的總項(xiàng)數(shù),若未指定該值或該值小于等于 <see cref="P:Wuqi.Webdiyer.AspNetPager.PageSize"/> ,則AspNetPager控件不會顯示任何內(nèi)容。
若未指定并編寫 <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件處理程序,則當(dāng)用戶點(diǎn)擊頁導(dǎo)航元素或在頁索引文本框中手式輸入頁索引并提交時(shí)AspNetPager不會跳轉(zhuǎn)到指定的頁。
AspNetPager控件的分頁方法和DataGrid基本相同,即在它的 <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件處理程序中將傳遞事件數(shù)據(jù)的 <see cref="T:Wuqi.Webdiyer.PageChangedEventArgs"/> 的 <see cref="P:Wuqi.Webdiyer.PageChangedEventArgs.NewPageIndex"/>值賦給 AspNetPager的 <see cref="P:Wuqi.Webdiyer.AspNetPager.CurrentPageIndex"/>屬性,然后重新將新的數(shù)據(jù)與數(shù)據(jù)顯示控件綁定。 </p></remarks>
<example>以下示例說明如何用AspNetPager對DataGrid進(jìn)行分頁。
<code><![CDATA[
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Import Namespace="System.Configuration"%>
<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
SqlConnection conn;
SqlCommand cmd;
void Page_Load(object src,EventArgs e)
{
conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
if(!Page.IsPostBack)
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData()
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
cmd.Parameters.Add("@pagesize",pager.PageSize);
cmd.Parameters.Add("@docount",false);
conn.Open();
dataGrid1.DataSource=cmd.ExecuteReader();
dataGrid1.DataBind();
conn.Close();
pager.CustomInfoText="記錄總數(shù):<font color=\"blue\"><b>"+pager.RecordCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 總頁數(shù):<font color=\"blue\"><b>"+pager.PageCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 當(dāng)前頁:<font color=\"red\"><b>"+pager.CurrentPageIndex.ToString()+"</b></font>";
}
void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="dataGrid1" runat="server" />
<Webdiyer:AspNetPager id="pager"
runat="server"
PageSize="8"
NumericButtonCount="8"
ShowCustomInfoSection="left"
PagingButtonSpacing="0"
ShowInputBox="always"
CssClass="mypager"
HorizontalAlign="right"
OnPageChanged="ChangePage"
SubmitButtonText="轉(zhuǎn)到"
NumericButtonTextFormatString="[{0}]"/>
</form>
</body>
</HTML>
]]>
</code>
<p>下面是該示例所用的Sql Server存儲過程:</p>
<code>
<![CDATA[
CREATE procedure GetNews
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(id) from news
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from news order by addtime desc
select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount off
GO
]]>
</code></example>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.OnLoad(System.EventArgs)">
<summary>
重寫 <see cref="M:System.Web.UI.Control.OnLoad(System.EventArgs)"/> 方法。
</summary>
<param name="e">包含事件數(shù)據(jù)的 <see cref="T:System.EventArgs"/> 對象。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.OnPreRender(System.EventArgs)">
<summary>
重寫<see cref="M:System.Web.UI.Control.OnPreRender(System.EventArgs)"/>方法。
</summary>
<param name="e">包含事件數(shù)據(jù)的 <see cref="T:System.EventArgs"/> 對象。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.RenderBeginTag(System.Web.UI.HtmlTextWriter)">
<summary>
重寫 <see cref="M:System.Web.UI.WebControls.WebControl.RenderBeginTag(System.Web.UI.HtmlTextWriter)"/> 方法,將 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的 HTML 開始標(biāo)記輸出到指定的 <see cref="T:System.Web.UI.HtmlTextWriter"/> 編寫器中。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.RenderEndTag(System.Web.UI.HtmlTextWriter)">
<summary>
重寫 <see cref="M:System.Web.UI.WebControls.WebControl.RenderEndTag(System.Web.UI.HtmlTextWriter)"/> 方法,將 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的 HTML 結(jié)束標(biāo)記輸出到指定的 <see cref="T:System.Web.UI.HtmlTextWriter"/> 編寫器中。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.RenderContents(System.Web.UI.HtmlTextWriter)">
<summary>
重寫 <see cref="M:System.Web.UI.WebControls.WebControl.RenderContents(System.Web.UI.HtmlTextWriter)"/> 方法,將控件的內(nèi)容呈現(xiàn)到指定 <see cref="T:System.Web.UI.HtmlTextWriter"/> 的編寫器中。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.GetStyleString">
<summary>
將基控件的Style轉(zhuǎn)換為CSS字符串。
</summary>
<returns></returns>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.WriteCellAttributes(System.Web.UI.HtmlTextWriter,System.Boolean)">
<summary>
為用戶自定義信息區(qū)和頁導(dǎo)航按鈕區(qū)和td添加屬性。
</summary>
<param name="writer"></param>
<param name="leftCell">是否為第一個(gè)td</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.GetHrefString(System.Int32)">
<summary>
獲取分頁導(dǎo)航按鈕的超鏈接字符串。
</summary>
<param name="pageIndex">該分頁按鈕相對應(yīng)的頁索引。</param>
<returns>分頁導(dǎo)航按鈕的超鏈接字符串。</returns>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.BuildUrlString(System.Collections.Specialized.NameValueCollection)">
<summary>
當(dāng)使用Url分頁方式時(shí),在當(dāng)前Url上加入分頁參數(shù),若該參數(shù)存在,則改變其值。
</summary>
<param name="col">要加入到新Url中的參數(shù)名和值的集合。</param>
<returns>分頁導(dǎo)航按鈕的超鏈接字符串,包括分頁參數(shù)。</returns>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.CreateNavigationButton(System.Web.UI.HtmlTextWriter,System.String)">
<summary>
創(chuàng)建第一頁、上一頁、下一頁及最后一頁分頁按鈕。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
<param name="btnname">分頁按鈕名。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.WriteCssClass(System.Web.UI.HtmlTextWriter)">
<summary>
寫入CSS類名。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.AddToolTip(System.Web.UI.HtmlTextWriter,System.Int32)">
<summary>
加入導(dǎo)航按鈕提示文本。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
<param name="pageIndex">導(dǎo)航按鈕對應(yīng)的頁索引。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.CreateNumericButton(System.Web.UI.HtmlTextWriter,System.Int32)">
<summary>
創(chuàng)建分頁數(shù)值導(dǎo)航按鈕。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
<param name="index">要?jiǎng)?chuàng)建按鈕的頁索引的值。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.WriteButtonSpace(System.Web.UI.HtmlTextWriter)">
<summary>
在分頁導(dǎo)航元素間加入空格。
</summary>
<param name="writer"></param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.GetChinesePageIndex(System.Int32)">
<summary>
獲取中文頁索引字符。
</summary>
<param name="index">中文字符對應(yīng)的頁索引數(shù)值</param>
<returns>對應(yīng)于頁索引數(shù)值的中文字符</returns>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.CreateNumericImages(System.Web.UI.HtmlTextWriter,System.Int32,System.Boolean)">
<summary>
創(chuàng)建頁索引圖片按鈕。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
<param name="index">頁索引數(shù)值。</param>
<param name="isCurrent">是否是當(dāng)前頁索引。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.CreateMoreButton(System.Web.UI.HtmlTextWriter,System.Int32)">
<summary>
創(chuàng)建“更多頁”(...)按鈕。
</summary>
<param name="writer"><see cref="T:System.Web.UI.HtmlTextWriter"/>,表示要在客戶端呈現(xiàn) HTML 內(nèi)容的輸出流。</param>
<param name="pageIndex">鏈接到按鈕的頁的索引。</param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.RaisePostBackEvent(System.String)">
<summary>
實(shí)現(xiàn)<see cref="T:System.Web.UI.IPostBackEventHandler"/> 接口,使 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件能夠處理將窗體發(fā)送到服務(wù)器時(shí)引發(fā)的事件。
</summary>
<param name="args"></param>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.LoadPostData(System.String,System.Collections.Specialized.NameValueCollection)">
<summary>
實(shí)現(xiàn) <see cref="T:System.Web.UI.IPostBackDataHandler"/> 接口,為 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 服務(wù)器控件處理回發(fā)數(shù)據(jù)。
</summary>
<param name="pkey">控件的主要標(biāo)識符。</param>
<param name="pcol">所有傳入名稱值的集合。</param>
<returns></returns>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.RaisePostDataChangedEvent">
<summary>
實(shí)現(xiàn) <see cref="T:System.Web.UI.IPostBackDataHandler"/> 接口,用信號要求服務(wù)器控件對象通知 ASP.NET 應(yīng)用程序該控件的狀態(tài)已更改。
</summary>
</member>
<member name="M:Wuqi.Webdiyer.AspNetPager.OnPageChanged(Wuqi.Webdiyer.PageChangedEventArgs)">
<summary>
引發(fā) <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件。這使您可以為事件提供自定義處理程序。
</summary>
<param name="e">一個(gè) <see cref="T:Wuqi.Webdiyer.PageChangedEventArgs"/>,它包含事件數(shù)據(jù)。</param>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowNavigationToolTip">
<summary>
獲取或設(shè)置一個(gè)值,該值批示當(dāng)鼠標(biāo)指針懸停在導(dǎo)航按鈕上時(shí)是否顯示工具提示。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NavigationToolTipTextFormatString">
<summary>
獲取或設(shè)置導(dǎo)航按鈕工具提示文本的格式。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ChinesePageIndex">
<summary>
獲取或設(shè)置一個(gè)值,該值指示是否將頁索引按鈕用中文數(shù)字代替。
</summary>
<remarks>
將該值設(shè)為true并且未使用圖片按鈕時(shí),頁索引按鈕中的數(shù)值1、2、3等將會被中文字符一、二、三等代替。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NumericButtonTextFormatString">
<summary>
獲取或設(shè)置頁索引數(shù)值導(dǎo)航按鈕上文字的顯示格式。
</summary>
<value>
字符串,指定頁索引數(shù)值按鈕上文字的顯示格式,默認(rèn)值為<see cref="F:System.String.Empty"/>,即未設(shè)置該屬性。</value>
<remarks>
使用NumericButtonTextFormatString屬性指定頁索引數(shù)值按鈕的顯示格式,如未設(shè)置該值時(shí)索引按鈕文本將會是:1 2 3 ...,設(shè)置該值將改變索引按鈕文本的顯示格式,
如將該值設(shè)為“[{0}]”則索引文本會顯示為:[1] [2] [3] ...,將該值設(shè)為“-{0}-”則會使索引文本變?yōu)椋?1- -2- -3- ...。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PagingButtonType">
<summary>
獲取或設(shè)置分頁導(dǎo)航按鈕的類型,即使用文字還是圖片。
</summary>
<remarks>
要使用圖片按鈕,您需要準(zhǔn)備以下圖片:從0到9的十個(gè)數(shù)值圖片(當(dāng)ShowPageIndex設(shè)為true時(shí)),第一頁、上一頁、下一頁、最后一頁及更多頁(...)五個(gè)按鈕圖片(當(dāng)ShowFirstLast及ShowPrevNext都設(shè)為true時(shí)),
若需要使當(dāng)前頁索引的數(shù)值按鈕不同于別的頁索引數(shù)值按鈕,則還需準(zhǔn)備當(dāng)前頁索引的按鈕圖片;
若需要使已禁用的第一頁、上一頁、下一頁及最后一頁按鈕圖片不同于正常的按鈕圖片,則還需準(zhǔn)備這四個(gè)按鈕在禁用狀態(tài)下的圖片;
<p><b>圖片文件的命名規(guī)則如下:</b></p>
<p>從0到9十張數(shù)值按鈕圖片必須命名為“數(shù)值+ButtonImageNameExtension+ButtonImageExtension”,其中的ButtonImageNameExtension可以不用設(shè)置,
ButtonImageExtension是圖片文件的后綴名,如 .gif或 .jpg等可以在瀏覽器中顯示的任何圖片文件類型。如頁索引“1”的圖片文件可命名為“1.gif”或“1.jpg”,
當(dāng)您有兩套或更多套圖片文件時(shí),可以通過指定ButtonImageNameExtension屬性值來區(qū)分不同套的圖片,如第一套圖片可以不用設(shè)ButtonImageNameExtension,則圖片文件名類似于“1.gif”、“2.gif”等等,而第二套圖片則設(shè)置ButtonImageNameExtension為“f”,圖片文件名類似于“1f.gif”,“2f.gif”等等。</p>
<p>第一頁按鈕的圖片文件名以“first”開頭,上一頁按鈕圖片名以“prev”開頭,下一頁按鈕圖片名以“next”開頭,最后一頁按鈕圖片名以“l(fā)ast”開頭,更多頁按鈕圖片名以“more”開頭,是否使用ButtonImageNameExtension取決于數(shù)值按鈕的設(shè)置及是否有更多套圖片。</p>
</remarks>
<example>
以下代碼片段示例如果使用圖片按鈕:
<p>
<code><![CDATA[
<Webdiyer:AspNetPager runat="server"
id="pager1"
OnPageChanged="ChangePage"
PagingButtonType="image"
ImagePath="images"
ButtonImageNameExtension="n"
DisabledButtonImageNameExtension="g"
ButtonImageExtension="gif"
CpiButtonImageNameExtension="r"
PagingButtonSpacing=5/>
]]>
</code>
</p>
</example>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NumericButtonType">
<summary>
獲取或設(shè)置頁導(dǎo)航數(shù)值按鈕的類型,該值僅當(dāng)PagingButtonType設(shè)為Image時(shí)才有效。
</summary>
<remarks>
當(dāng)您將PagingButtonType設(shè)為Image當(dāng)又不想讓頁索引數(shù)值按鈕使用圖片時(shí),可以將該值設(shè)為Text,這會使頁索引數(shù)據(jù)按鈕使用文本而不是圖片按鈕。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NavigationButtonType">
<summary>
獲取或設(shè)置第一頁、上一頁、下一頁和最后一頁按鈕的類型,該值僅當(dāng)PagingButtonType設(shè)為Image時(shí)才有效。
</summary>
<remarks>
當(dāng)您將PagingButtonType設(shè)為Image但又不想讓第一頁、下一頁、下一頁和最后一頁按鈕使用圖片,則可以將該值設(shè)為Text,這會使前面的四個(gè)按鈕使用文本而不是圖片按鈕。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.MoreButtonType">
<summary>
獲取或設(shè)置“更多頁”(...)按鈕的類型,該值僅當(dāng)PagingButtonType設(shè)為Image時(shí)才有效。
</summary>
<remarks>
當(dāng)您將PagingButtonType設(shè)為Image但又不想讓更多頁(...)按鈕使用圖片時(shí),可以將此值設(shè)為Text,這會使更多頁按鈕使用文本而不是圖片按鈕。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PagingButtonSpacing">
<summary>
獲取或設(shè)置分頁導(dǎo)航按鈕之間的間距。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowFirstLast">
<summary>
獲取或設(shè)置一個(gè)值,該值指示是否在頁導(dǎo)航元素中顯示第一頁和最后一頁按鈕。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowPrevNext">
<summary>
獲取或設(shè)置一個(gè)值,該值指示是否在頁導(dǎo)航元素中顯示上一頁和下一頁按鈕。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowPageIndex">
<summary>
獲取或設(shè)置一個(gè)值,該值指示是否在頁導(dǎo)航元素中顯示頁索引數(shù)值按鈕。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.FirstPageText">
<summary>
獲取或設(shè)置為第一頁按鈕顯示的文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PrevPageText">
<summary>
獲取或設(shè)置為上一頁按鈕顯示的文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NextPageText">
<summary>
獲取或設(shè)置為下一頁按鈕顯示的文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.LastPageText">
<summary>
獲取或設(shè)置為最后一頁按鈕顯示的文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.NumericButtonCount">
<summary>
獲取或設(shè)置在 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁導(dǎo)航元素中同時(shí)顯示的數(shù)值按鈕的數(shù)目。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowDisabledButtons">
<summary>
獲取或設(shè)置一個(gè)值,該值指定是否顯示已禁用的按鈕。
</summary>
<remarks>
該值用來指定是否顯示已禁用的分頁導(dǎo)航按鈕,當(dāng)當(dāng)前頁為第一頁時(shí),第一頁和上一頁按鈕將被禁用,當(dāng)當(dāng)前頁為最后一頁時(shí),下一頁和最后一頁按鈕將被禁用,被禁用的按鈕沒有鏈接,在按鈕上點(diǎn)擊也不會有任何作用。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ImagePath">
<summary>
獲取或設(shè)置當(dāng)使用圖片按鈕時(shí),圖片文件的路徑。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ButtonImageExtension">
<summary>
獲取或設(shè)置當(dāng)使用圖片按鈕時(shí),圖片的類型,如gif或jpg,該值即圖片文件的后綴名。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ButtonImageNameExtension">
<summary>
獲取或設(shè)置自定義圖片文件名的后綴字符串,以區(qū)分不同類型的按鈕圖片。
</summary>
<remarks><note>注意:</note>該值不是文件后綴名,而是為區(qū)分不同的圖片文件而在圖片名中加入的字符串,如:
當(dāng)前有兩套按鈕圖片,其中一套中的“1”的圖片名可為“1f.gif”,另一套中的“1”的圖片名可起為“1n.gif”,其中的f和n即為ButtonImageNameExtension。</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CpiButtonImageNameExtension">
<summary>
獲取或設(shè)置當(dāng)前頁索引按鈕的圖片名后綴。
</summary>
<remarks>
當(dāng) <see cref="P:Wuqi.Webdiyer.AspNetPager.PagingButtonType"/> 設(shè)為 Image 時(shí),該屬性允許您設(shè)置當(dāng)前頁索引數(shù)值按鈕使用的圖片名后綴字符,因此可以使當(dāng)前頁索引按鈕與其它頁索引按鈕使用不同的圖片,若未設(shè)置該值,則默認(rèn)值為<see cref="P:Wuqi.Webdiyer.AspNetPager.ButtonImageNameExtension"/>,即當(dāng)前頁索引按鈕與其它頁索引按鈕使用相同的圖片。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.DisabledButtonImageNameExtension">
<summary>
獲取或設(shè)置已禁用的頁導(dǎo)航按鈕圖片名后綴字符串。
</summary>
<remarks>
當(dāng) <see cref="P:Wuqi.Webdiyer.AspNetPager.PagingButtonType"/> 設(shè)為 Image 時(shí), 該值允許您設(shè)置已禁用(即沒有鏈接,因而點(diǎn)擊后無反應(yīng))的頁導(dǎo)航按鈕(包括第一頁、上一頁、下一頁、最后一頁四個(gè)按鈕)的圖片文件名后綴字符串,因此可以使已禁用的頁導(dǎo)航按鈕不同于正常的頁導(dǎo)航按鈕。若未設(shè)置該值,則默認(rèn)值為<see cref="P:Wuqi.Webdiyer.AspNetPager.ButtonImageNameExtension"/>,即已禁用的頁導(dǎo)航按鈕與正常的頁導(dǎo)航按鈕使用相同的圖片。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ButtonImageAlign">
<summary>
指定當(dāng)使用圖片按鈕時(shí),圖片的對齊方式。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.UrlPaging">
<summary>
獲取或設(shè)置是否啟用url來傳遞分頁信息。
</summary>
<remarks>
啟用Url分頁方式是將用戶欲訪問的頁索引通過Url來傳遞,由于該分頁方式不使用頁面向自身回發(fā)來傳遞數(shù)據(jù),
所以每次分頁時(shí)所有的數(shù)據(jù)都恢復(fù)為初始值或需要重新獲取。使用Url分頁方式不支持動(dòng)態(tài)改變分頁控件的屬性值,
因暫時(shí)無法將新的屬性值通過Url來傳遞給下一頁。
</remarks>
<example>以下示例說明如何用AspNetPager的Url分頁方式對DataGrid進(jìn)行分頁(使用Access數(shù)據(jù)庫):
<code><![CDATA[
<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
<%@Import Namespace="System.Data.OleDb"%>
<%@ Import Namespace="System.Data"%>
<%@ Page Language="C#" debug=true%>
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
OleDbConnection conn;
OleDbCommand cmd;
void Page_Load(object src,EventArgs e){
conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("access/aspnetpager.mdb"));
if(!Page.IsPostBack){
cmd=new OleDbCommand("select count(newsid) from wqnews",conn);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData(){
cmd=new OleDbCommand("select newsid,heading,source,addtime from wqnews order by addtime desc",conn);
OleDbDataAdapter adapter=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"news");
dg.DataSource=ds.Tables["news"];
dg.DataBind();
}
void ChangePage(object src,PageChangedEventArgs e){
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
</HEAD>
<body>
<form runat="server" ID="Form1">
<h2 align="center">AspNetPager分頁示例</h2>
<asp:DataGrid id="dg" runat="server"
Width="760" CellPadding="4" Align="center" />
<Webdiyer:AspNetPager runat="server" id="pager"
OnPageChanged="ChangePage"
HorizontalAlign="center"
style="MARGIN-TOP:10px;FONT-SIZE:16px"
PageSize="8"
ShowInputBox="always"
SubmitButtonStyle="border:1px solid #000066;height:20px;width:30px"
InputBoxStyle="border:1px #0000FF solid;text-align:center"
SubmitButtonText="轉(zhuǎn)到"
UrlPaging="true"
UrlPageIndexName="pageindex" />
</form>
</body>
</HTML>
]]></code>
</example>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.UrlPageIndexName">
<summary>
獲取或設(shè)置當(dāng)啟用Url分頁方式時(shí),在url中表示要傳遞的頁索引的參數(shù)的名稱。
</summary>
<remarks>
該屬性允許您自定義通過Url傳遞頁索引時(shí)表示要傳遞的頁索引的參數(shù)的名稱,以避免與現(xiàn)有的參數(shù)名重復(fù)。
<p>該屬性的默認(rèn)值是“page”,即通過Url分頁時(shí),顯示在瀏覽器地址欄中的Url類似于:</p>http://www.webdiyer.com/aspnetpager/samples/datagrid_url.aspx?page=2
<p>如將該值改為“pageindex”,則上面的Url將變?yōu)椋?lt;/p><p>http://www.webdiyer.com/aspnetpager/samples/datagrid_url.aspx?pageindex=2 </p>
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CurrentPageIndex">
<summary>
獲取或設(shè)置當(dāng)前顯示頁的索引。
</summary>
<remarks>使用此屬性來確定在 AspNetPager 控件中當(dāng)前顯示的頁,當(dāng)前顯示的頁的數(shù)字索引將以紅色字體加粗顯示。此屬性還用于以編程的方式控制所顯示的頁。
<p> <b>注意:</b>不同于DataGrid控件的CurrentPageIndex,AspNetPager的CurrentPageIndex屬性是從1開始的。</p></remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.RecordCount">
<summary>
獲取或設(shè)置需要分頁的所有記錄的總數(shù)。
</summary>
<remarks>
當(dāng)頁面第一次加載時(shí),應(yīng)以編程方式將從存儲過程或Sql語句中返回的數(shù)據(jù)表中所有要分頁的記錄的總數(shù)賦予該屬性,AspNetPager會將其保存的ViewState中并在頁面回發(fā)時(shí)從ViewState中獲取該值,因此避免了每次分頁都要訪問數(shù)據(jù)庫而影響分頁性能。AspNetPager根據(jù)要分頁的所有數(shù)據(jù)的總項(xiàng)數(shù)和 <see cref="P:Wuqi.Webdiyer.AspNetPager.PageSize"/> 屬性來計(jì)算顯示所有數(shù)據(jù)需要的總頁數(shù),即 <see cref="P:Wuqi.Webdiyer.AspNetPager.PageCount"/>的值。
</remarks>
<example>
下面的示例顯示如何以編程方式將從Sql語句返回的記錄總數(shù)賦給該屬性:
<p>
<code><![CDATA[
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
SqlConnection conn;
SqlCommand cmd;
void Page_Load(object src,EventArgs e)
{
conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
if(!Page.IsPostBack)
{
cmd=new SqlCommand("select count(id) from news",conn);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData()
{
cmd=new SqlCommand("GetPagedNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
cmd.Parameters.Add("@pagesize",pager.PageSize);
conn.Open();
dataGrid1.DataSource=cmd.ExecuteReader();
dataGrid1.DataBind();
conn.Close();
}
void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="dataGrid1" runat="server" />
<Webdiyer:AspNetPager id="pager" runat="server"
PageSize="8"
NumericButtonCount="8"
ShowCustomInfoSection="before"
ShowInputBox="always"
CssClass="mypager"
HorizontalAlign="center"
OnPageChanged="ChangePage" />
</form>
</body>
</HTML>
]]>
</code></p>
<p>本示例使用的存儲過程代碼如下:</p>
<code><![CDATA[
CREATE procedure GetPagedNews
(@pagesize int,
@pageindex int)
as
set nocount on
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from news order by addtime desc
select O.id,O.title,O.source,O.addtime from news O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
set nocount off
GO
]]>
</code>
</example>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PagesRemain">
<summary>
獲取當(dāng)前頁之后未顯示的頁的總數(shù)。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PageSize">
<summary>
獲取或設(shè)置每頁顯示的項(xiàng)數(shù)。
</summary>
<remarks>
該值獲取或設(shè)置數(shù)據(jù)呈現(xiàn)控件每次要顯示數(shù)據(jù)表中的的數(shù)據(jù)的項(xiàng)數(shù),AspNetPager根據(jù)該值和 <see cref="P:Wuqi.Webdiyer.AspNetPager.RecordCount"/> 來計(jì)算顯示所有數(shù)據(jù)需要的總頁數(shù),即 <see cref="P:Wuqi.Webdiyer.AspNetPager.PageCount"/>的值。</remarks>
<example>以下示例將 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 設(shè)置為允許每頁顯示8條數(shù)據(jù):
<code>
<![CDATA[
...
<Webdiyer:AspNetPager id="pager" runat="server" PageSize=8 OnPageChanged="ChangePage"/>
...
]]></code></example>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.RecordsRemain">
<summary>
獲取在當(dāng)前頁之后還未顯示的剩余記錄的項(xiàng)數(shù)。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.PageCount">
<summary>
獲取所有要分頁的記錄需要的總頁數(shù)。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowInputBox">
<summary>
獲取或設(shè)置頁索引文本框的顯示方式。
</summary>
<remarks>
頁索引文件框允許用戶手式輸入要訪問的頁的索引,當(dāng)頁數(shù)非常多時(shí),顯示頁索引文本框非常方便用戶跳轉(zhuǎn)到指定的頁,默認(rèn)情況下,該文本框只有在總頁數(shù)大于或等于 <see cref="P:Wuqi.Webdiyer.AspNetPager.ShowBoxThreshold"/> 的值時(shí)才顯示,否則不顯示,要想該文本框任何時(shí)候都顯示,請將其值設(shè)為Always,若希望任何時(shí)候都不顯示,則應(yīng)設(shè)為Never。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.InputBoxClass">
<summary>
獲取或設(shè)置應(yīng)用于頁索引輸入文本框的CSS類名。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.InputBoxStyle">
<summary>
獲取或設(shè)置頁索引輸入文本框的CSS樣式文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.TextBeforeInputBox">
<summary>
獲取或設(shè)置頁索引頁索引輸入文本框前的文本字符串值。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.TextAfterInputBox">
<summary>
獲取或設(shè)置頁索引文本輸入框后的文本內(nèi)容字符串值。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.SubmitButtonText">
<summary>
獲取或設(shè)置提交按鈕上的文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.SubmitButtonClass">
<summary>
獲取或設(shè)置應(yīng)用于提交按鈕的CSS類名。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.SubmitButtonStyle">
<summary>
獲取或設(shè)置應(yīng)用于提交按鈕的CSS樣式。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowBoxThreshold">
<summary>
獲取或設(shè)置自動(dòng)顯示頁索引輸入文本框的最低起始頁數(shù)。
</summary>
<remarks>
當(dāng) <see cref="P:Wuqi.Webdiyer.AspNetPager.ShowInputBox"/> 設(shè)為Auto(默認(rèn))并且要分頁的數(shù)據(jù)的總頁數(shù)達(dá)到該值時(shí)會自動(dòng)顯示頁索引輸入文本框,默認(rèn)值為30。該選項(xiàng)當(dāng) <see cref="P:Wuqi.Webdiyer.AspNetPager.ShowInputBox"/> 設(shè)為Never或Always時(shí)沒有任何作用。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.ShowCustomInfoSection">
<summary>
獲取或設(shè)置顯示用戶自定義信息區(qū)的方式。
</summary>
<remarks>
該屬性值設(shè)為Left或Right時(shí)會在分頁導(dǎo)航元素左邊或右邊劃出一個(gè)專門的區(qū)域來顯示有關(guān)用戶自定義信息,設(shè)為Never時(shí)不顯示。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CustomInfoTextAlign">
<summary>
獲取或設(shè)置用戶自定義信息區(qū)文本的對齊方式。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CustomInfoSectionWidth">
<summary>
獲取或設(shè)置用戶自定義信息區(qū)的寬度。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CustomInfoClass">
<summary>
獲取或設(shè)置應(yīng)用于用戶自定義信息區(qū)的級聯(lián)樣式表類名。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CustomInfoStyle">
<summary>
獲取或設(shè)置應(yīng)用于用戶自定義信息區(qū)的CSS樣式文本。
</summary>
<value>字符串值,要應(yīng)用于用戶自定義信息區(qū)的CSS樣式文本。</value>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CustomInfoText">
<summary>
獲取或設(shè)置在顯示在用戶自定義信息區(qū)的用戶自定義文本。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.AlwaysShow">
<summary>
獲取或設(shè)置一個(gè)值,該值指定是否總是顯示AspNetPager分頁按件,即使要分頁的數(shù)據(jù)只有一頁。
</summary>
<remarks>
默認(rèn)情況下,當(dāng)要分頁的數(shù)據(jù)小于兩頁時(shí),AspNetPager不會在頁面上顯示任何內(nèi)容,將此屬性值設(shè)為true時(shí),即使總頁數(shù)只有一頁,AspNetPager也將顯示分頁導(dǎo)航元素。
</remarks>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.CssClass">
<summary>
獲取或設(shè)置由 AspNetPager 服務(wù)器控件在客戶端呈現(xiàn)的級聯(lián)樣式表 (CSS) 類。
</summary>
</member>
<member name="P:Wuqi.Webdiyer.AspNetPager.EnableViewState">
<summary>
獲取或設(shè)置一個(gè)值,該值指示 AspNetPager 服務(wù)器控件是否向發(fā)出請求的客戶端保持自己的視圖狀態(tài),該屬性經(jīng)重寫后不允許設(shè)為false。
</summary>
<remarks><see cref="T:Wuqi.Webdiyer.AspNetPager"/> 服務(wù)器控件將一些重要的分頁信息保存在ViewState中,當(dāng)使用Url分頁方式時(shí),雖然視圖狀態(tài)在分頁過程中沒有任何作用,但若當(dāng)前頁需要回發(fā),則必須啟用視圖狀態(tài)以便分頁控件能在頁面回發(fā)后獲取回發(fā)前的分頁狀態(tài);當(dāng)通過頁面回發(fā)(PostBack)的方式來分頁時(shí),要使AspNetPager正常工作,必須啟用視圖狀態(tài)。
<p><note>該屬性并不能禁止用戶用<![CDATA[<%@Page EnableViewState=false%> ]]>頁指令來禁用整個(gè)頁面的視圖狀態(tài),當(dāng)使用此指令并且設(shè)置AspNetPager通過頁面回發(fā)來分頁時(shí),AspNetPager因?yàn)闊o法獲取保存的信息而不能正常工作。</note></p></remarks>
</member>
<member name="E:Wuqi.Webdiyer.AspNetPager.PageChanged">
<summary>
當(dāng)頁導(dǎo)航元素之一被單擊或用戶手工輸入頁索引提交時(shí)發(fā)生。
</summary>
<example>下面的示例顯示如何為PageChanged事件指定和編寫事件處理程序,在該事件處理程序中重新綁定DataGrid上顯示的數(shù)據(jù):
<code><![CDATA[
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Import Namespace="System.Configuration"%>
<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
SqlConnection conn;
SqlCommand cmd;
void Page_Load(object src,EventArgs e)
{
conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
if(!Page.IsPostBack)
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData()
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
cmd.Parameters.Add("@pagesize",pager.PageSize);
cmd.Parameters.Add("@docount",false);
conn.Open();
dataGrid1.DataSource=cmd.ExecuteReader();
dataGrid1.DataBind();
conn.Close();
}
void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="dataGrid1" runat="server" />
<Webdiyer:AspNetPager id="pager" runat="server" PageSize="8" NumericButtonCount="8" ShowCustomInfoSection="before" ShowInputBox="always" CssClass="mypager" HorizontalAlign="center" OnPageChanged="ChangePage" />
</form>
</body>
</HTML>
]]>
</code>
<p>該示例所用的Sql Server存儲過程代碼如下:</p>
<code>
<![CDATA[
CREATE procedure GetNews
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(id) from news
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from news order by addtime desc
select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount off
GO
]]>
</code>
</example>
</member>
<member name="T:Wuqi.Webdiyer.PageChangedEventHandler">
<summary>
表示處理 <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件的方法。
</summary>
</member>
<member name="T:Wuqi.Webdiyer.PageChangedEventArgs">
<summary>
為 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的 <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件提供數(shù)據(jù)。無法繼承此類。
</summary>
<remarks>
當(dāng) <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁導(dǎo)航元素之一被單擊或用戶輸入頁索引提交時(shí)引發(fā) <see cref="F:Wuqi.Webdiyer.AspNetPager.PageChanged"/> 事件。
<p>有關(guān) PageChangedEventArgs 實(shí)例的初始屬性值列表,請參閱 PageChangedEventArgs 構(gòu)造函數(shù)。</p>
</remarks>
</member>
<member name="M:Wuqi.Webdiyer.PageChangedEventArgs.#ctor(System.Int32)">
<summary>
使用新頁面索引初始化 PageChangedEventArgs 類的新實(shí)例。
</summary>
<param name="newPageIndex">用戶從 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁選擇元素選定的或在頁索引文本框中手工輸入的頁的索引。</param>
</member>
<member name="P:Wuqi.Webdiyer.PageChangedEventArgs.NewPageIndex">
<summary>
獲取用戶在 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中手工輸入的頁的索引。
</summary>
<value>用戶在 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
</value>
<remarks>
使用 NewPageIndex 屬性確定用戶在 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
該值常用于設(shè)置要顯示選定頁的 AspNetPager 控件的 <see cref="P:Wuqi.Webdiyer.AspNetPager.CurrentPageIndex"/> 屬性。
</remarks>
<example>
下面的示例顯示如何使用 NewPageIndex 屬性確定用戶在 <see cref="T:Wuqi.Webdiyer.AspNetPager"/> 控件的頁選擇元素中選定的或在頁索引文本框中輸入的頁的索引。
該值然后用于設(shè)置要顯示選定頁的 AspNetPager 控件的 <see cref="P:Wuqi.Webdiyer.AspNetPager.CurrentPageIndex"/> 屬性,并對數(shù)據(jù)顯示控件重新綁定數(shù)據(jù)。
<code><![CDATA[
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Import Namespace="System.Configuration"%>
<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
SqlConnection conn;
SqlCommand cmd;
void Page_Load(object src,EventArgs e)
{
conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
if(!Page.IsPostBack)
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData()
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
cmd.Parameters.Add("@pagesize",pager.PageSize);
cmd.Parameters.Add("@docount",false);
conn.Open();
dataGrid1.DataSource=cmd.ExecuteReader();
dataGrid1.DataBind();
conn.Close();
}
void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(yhaili@21cn.com)">
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="dataGrid1" runat="server" />
<Webdiyer:AspNetPager id="pager"
runat="server"
PageSize="8"
NumericButtonCount="8"
ShowCustomInfoSection="before"
ShowInputBox="always"
CssClass="mypager"
HorizontalAlign="center"
OnPageChanged="ChangePage" />
</form>
</body>
</HTML>
]]>
</code>
<p>下面是該示例所用的Sql Server存儲過程:</p>
<code>
<![CDATA[
CREATE procedure GetNews
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(id) from news
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from news order by addtime desc
select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount off
GO
]]>
</code>
</example>
</member>
<member name="T:Wuqi.Webdiyer.ShowInputBox">
<summary>
指定頁索引輸入文本框的顯示方式,以便用戶可以手工輸入頁索引。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowInputBox.Never">
<summary>
從不顯示頁索引輸入文本框。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowInputBox.Auto">
<summary>
自動(dòng),選擇此項(xiàng)后可以用 <see cref="P:Wuqi.Webdiyer.AspNetPager.ShowBoxThreshold"/> 可控制當(dāng)總頁數(shù)達(dá)到多少時(shí)自動(dòng)顯示頁索引輸入文本框。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowInputBox.Always">
<summary>
總是顯示頁索引輸入文本框。
</summary>
</member>
<member name="T:Wuqi.Webdiyer.ShowCustomInfoSection">
<summary>
指定當(dāng)前頁索引和總頁數(shù)信息的顯示方式。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowCustomInfoSection.Never">
<summary>
不顯示。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowCustomInfoSection.Left">
<summary>
顯示在頁導(dǎo)航元素之前。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.ShowCustomInfoSection.Right">
<summary>
顯示在頁導(dǎo)航元素之后。
</summary>
</member>
<member name="T:Wuqi.Webdiyer.PagingButtonType">
<summary>
指定頁導(dǎo)航按鈕的類型。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.PagingButtonType.Text">
<summary>
使用文字按鈕。
</summary>
</member>
<member name="F:Wuqi.Webdiyer.PagingButtonType.Image">
<summary>
使用圖片按鈕。
</summary>
</member>
<member name="T:Wuqi.Webdiyer.PagerDesigner">
<summary>
<see cref="T:Wuqi.Webdiyer.AspNetPager"/> 服務(wù)器控件設(shè)計(jì)器。
</summary>
</member>
<member name="M:Wuqi.Webdiyer.PagerDesigner.#ctor">
<summary>
初始化 PagerDesigner 的新實(shí)例。
</summary>
</member>
<member name="M:Wuqi.Webdiyer.PagerDesigner.GetDesignTimeHtml">
<summary>
獲取用于在設(shè)計(jì)時(shí)表示關(guān)聯(lián)控件的 HTML。
</summary>
<returns>用于在設(shè)計(jì)時(shí)表示控件的 HTML。</returns>
</member>
<member name="M:Wuqi.Webdiyer.PagerDesigner.GetErrorDesignTimeHtml(System.Exception)">
<summary>
獲取在呈現(xiàn)控件時(shí)遇到錯(cuò)誤后在設(shè)計(jì)時(shí)為指定的異常顯示的 HTML。
</summary>
<param name="e">要為其顯示錯(cuò)誤信息的異常。</param>
<returns>設(shè)計(jì)時(shí)為指定的異常顯示的 HTML。</returns>
</member>
</members>
</doc>
assemblyinfo.cs
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Web.UI;
[assembly: AssemblyTitle("AspNetPager")]
[assembly: AssemblyDescription("一個(gè)專用于asp.net的分頁控件")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Webdiyer")]
[assembly: AssemblyProduct("AspNetPager")]
[assembly: AssemblyCopyright("Webdiyer")]
[assembly: AssemblyTrademark("Webdiyer")]
[assembly: AssemblyCulture("")]
[assembly: TagPrefix("Wuqi.Webdiyer","webdiyer")]
[assembly: AssemblyVersion("4.2")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
您可能感興趣的文章:
- ASPNETPAGER分頁控件的使用方法[圖文]
- Asp.Net中的三種分頁方式總結(jié)
- Asp.net GridView使用大全(分頁實(shí)現(xiàn))
- ASP.NET 高性能分頁代碼
- ASP.NET MVC 5使用X.PagedList.Mvc進(jìn)行分頁教程(PagedList.Mvc)
- Asp.Net數(shù)據(jù)控件引用AspNetPager.dll分頁實(shí)現(xiàn)代碼
- asp.net Datalist控件實(shí)現(xiàn)分頁功能
- asp.net分頁控件AspNetPager的樣式美化
- asp.net 文章內(nèi)容分頁顯示的代碼
- 基于Dapper實(shí)現(xiàn)分頁效果 支持篩選、排序、結(jié)果集總數(shù)等
相關(guān)文章
gridview checkbox從服務(wù)器端和客戶端兩個(gè)方面實(shí)現(xiàn)全選和反選
GridView中的checkbox的全選和反選在很多的地方都是要求實(shí)現(xiàn)的,所以下面就從服務(wù)器端和客戶端兩個(gè)方面實(shí)現(xiàn)了checkbox的選擇,感興趣的朋友可以了解下,希望本文對你有所幫助2013-01-01ASP.NET MVC限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)的請求次數(shù)
這篇文章介紹了ASP.NET MVC限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)請求次數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10支持ASP.NET MVC、WebFroM的表單驗(yàn)證框架ValidationSuar使用介紹
這篇文章主要介紹了支持ASP.NET MVC、WebFroM的表單驗(yàn)證框架ValidationSuar使用介紹,本文詳細(xì)講解了使用步驟,并給出一個(gè)完整Demo下載,需要的朋友可以參考下2015-06-06asp.net 文件上傳與刷新與asp.net頁面與iframe之間的數(shù)據(jù)傳輸
眾所周知微軟所提供的updatepanel不能支持文件上傳的異步刷新,但是往往當(dāng)你在項(xiàng)目中的其他頁面實(shí)現(xiàn)了異步刷新之后,客戶就會問你為什么有文件上傳的頁面就不能實(shí)現(xiàn)異步刷新呢?這時(shí)我們可能說一堆理由,但是最后大部分還是會妥協(xié)于客戶。2009-12-12.net 讀取項(xiàng)目AssemblyInfo.cs屬性值
.net 讀取項(xiàng)目AssemblyInfo.cs屬性值的實(shí)現(xiàn)代碼。2009-06-06.NET的Ajax請求數(shù)據(jù)提交實(shí)例
這篇文章主要介紹了.NET的Ajax請求數(shù)據(jù)提交實(shí)例,較為詳細(xì)的分析了Ajax請求、數(shù)據(jù)的提交以及參數(shù)的傳遞技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01