📄 aspnetpager.cs
字号:
//AspNetPager分页控件源代码:
//版权所有:陕西省延安市吴起县 Webdiyer (www.webdiyer.com);
//此源代码仅供学习参考,不得用作任何商业用途;
//若需修改并重新编译该控件,请保留完整的源代码的版权信息!
//有关控件升级及新控件发布信息,请留意 www.webdiyer.com 。
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.IO;
using System.Text;
using System.Web.UI;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
using System.Web;
using System.Resources;
using System.Globalization;
using System.Security.Permissions;
using System.Text.RegularExpressions;
namespace Wuqi.Webdiyer
{
#region AspNetPager Server Control
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Class[@name="AspNetPager"]/*'/>
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
[DefaultProperty("PageSize")]
[DefaultEvent("PageChanged")]
[ParseChildren(false)]
[PersistChildren(false)]
[ANPDescription("desc_AspNetPager")]
[Designer(typeof(PagerDesigner))]
[ToolboxData("<{0}:AspNetPager runat=server></{0}:AspNetPager>")]
public class AspNetPager : Panel, INamingContainer, IPostBackEventHandler, IPostBackDataHandler
{
#region Private fields
private string cssClassName;
private string inputPageIndex;
private string currentUrl = null;
private NameValueCollection urlParams = null;
private AspNetPager cloneFrom = null;
private static readonly object EventPageChanging = new object();
private static readonly object EventPageChanged = new object();
//AspNetPager Version information
const string ver = "6.0.0";
#endregion
#region Properties
#region Navigation Buttons
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="ShowNavigationToolTip"]/*'/>
[Browsable(true), ANPCategory("cat_Navigation"), DefaultValue(false), ANPDescription("desc_ShowNavigationToolTip"), Themeable(false)]
public bool ShowNavigationToolTip
{
get
{
if (null != cloneFrom)
return cloneFrom.ShowNavigationToolTip;
object obj = ViewState["ShowNvToolTip"];
return (obj == null) ? false : (bool)obj;
}
set
{
ViewState["ShowNvToolTip"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NavigationToolTipTextFormatString"]/*'/>
[Browsable(true), Themeable(false), ANPCategory("cat_Navigation"), ANPDefaultValue("def_NavigationToolTipTextFormatString"), ANPDescription("desc_NavigationToolTipTextFormatString")]
public string NavigationToolTipTextFormatString
{
get
{
if (null != cloneFrom)
return cloneFrom.NavigationToolTipTextFormatString;
object obj = ViewState["NvToolTipFormatString"];
if (obj == null)
{
if (ShowNavigationToolTip)
return SR.GetString("def_NavigationToolTipTextFormatString");
return null;
}
return (string)obj;
}
set
{
string tip = value;
if (tip.Trim().Length < 1 && tip.IndexOf("{0}") < 0)
tip = "{0}";
ViewState["NvToolTipFormatString"] = tip;
}
}
/// <include file='AspnetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NumericButtonTextFormatString"]/*'/>
[Browsable(true), Themeable(false), DefaultValue(""), ANPCategory("cat_Navigation"), ANPDescription("desc_NBTFormatString")]
public string NumericButtonTextFormatString
{
get
{
if (null != cloneFrom)
return cloneFrom.NumericButtonTextFormatString;
object obj = ViewState["NumericButtonTextFormatString"];
return (obj == null) ? String.Empty : (string)obj;
}
set
{
ViewState["NumericButtonTextFormatString"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="PagingButtonType"]/*'/>
[Browsable(true), Themeable(false), DefaultValue(PagingButtonType.Text), ANPCategory("cat_Navigation"), ANPDescription("desc_PagingButtonType")]
public PagingButtonType PagingButtonType
{
get
{
if (null != cloneFrom)
return cloneFrom.PagingButtonType;
object obj = ViewState["PagingButtonType"];
return (obj == null) ? PagingButtonType.Text : (PagingButtonType)obj;
}
set
{
ViewState["PagingButtonType"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NumericButtonType"]/*'/>
[Browsable(true), Themeable(false), DefaultValue(PagingButtonType.Text), ANPCategory("cat_Navigation"), ANPDescription("desc_NumericButtonType")]
public PagingButtonType NumericButtonType
{
get
{
if (null != cloneFrom)
return cloneFrom.NumericButtonType;
object obj = ViewState["NumericButtonType"];
return (obj == null) ? PagingButtonType : (PagingButtonType)obj;
}
set
{
ViewState["NumericButtonType"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NavigationButtonType"]/*'/>
[Browsable(true), Themeable(false), ANPCategory("cat_Navigation"), DefaultValue(PagingButtonType.Text), ANPDescription("desc_NavigationButtonType")]
public PagingButtonType NavigationButtonType
{
get
{
if (null != cloneFrom)
return cloneFrom.NavigationButtonType;
object obj = ViewState["NavigationButtonType"];
return (obj == null) ? PagingButtonType : (PagingButtonType)obj;
}
set
{
ViewState["NavigationButtonType"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="MoreButtonType"]/*'/>
[Browsable(true), Themeable(false), ANPCategory("cat_Navigation"), DefaultValue(PagingButtonType.Text), ANPDescription("desc_MoreButtonType")]
public PagingButtonType MoreButtonType
{
get
{
if (null != cloneFrom)
return cloneFrom.MoreButtonType;
object obj = ViewState["MoreButtonType"];
return (obj == null) ? PagingButtonType : (PagingButtonType)obj;
}
set
{
ViewState["MoreButtonType"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="PagingButtonSpacing"]/*'/>
[Browsable(true), Themeable(false), ANPCategory("cat_Navigation"), DefaultValue(typeof(Unit), "5px"), ANPDescription("desc_PagingButtonSpacing")]
public Unit PagingButtonSpacing
{
get
{
if (null != cloneFrom)
return cloneFrom.PagingButtonSpacing;
object obj = ViewState["PagingButtonSpacing"];
return (obj == null) ? Unit.Pixel(5) : (Unit.Parse(obj.ToString()));
}
set
{
ViewState["PagingButtonSpacing"] = value;
}
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="ShowFirstLast"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_ShowFirstLast"), ANPCategory("cat_Navigation"), DefaultValue(true)]
public bool ShowFirstLast
{
get
{
if (null != cloneFrom)
return cloneFrom.ShowFirstLast;
object obj = ViewState["ShowFirstLast"];
return (obj == null) ? true : (bool)obj;
}
set { ViewState["ShowFirstLast"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="ShowPrevNext"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_ShowPrevNext"), ANPCategory("cat_Navigation"), DefaultValue(true)]
public bool ShowPrevNext
{
get
{
if (null != cloneFrom)
return cloneFrom.ShowPrevNext;
object obj = ViewState["ShowPrevNext"];
return (obj == null) ? true : (bool)obj;
}
set { ViewState["ShowPrevNext"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="ShowPageIndex"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_ShowPageIndex"), ANPCategory("cat_Navigation"), DefaultValue(true)]
public bool ShowPageIndex
{
get
{
if (null != cloneFrom)
return cloneFrom.ShowPageIndex;
object obj = ViewState["ShowPageIndex"];
return (obj == null) ? true : (bool)obj;
}
set { ViewState["ShowPageIndex"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="FirstPageText"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_FirstPageText"), ANPCategory("cat_Navigation"), DefaultValue("<<")]
public string FirstPageText
{
get
{
if (null != cloneFrom)
return cloneFrom.FirstPageText;
object obj = ViewState["FirstPageText"];
return (obj == null) ? "<<" : (string)obj;
}
set { ViewState["FirstPageText"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="PrevPageText"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_PrevPageText"), ANPCategory("cat_Navigation"), DefaultValue("<")]
public string PrevPageText
{
get
{
if (null != cloneFrom)
return cloneFrom.PrevPageText;
object obj = ViewState["PrevPageText"];
return (obj == null) ? "<" : (string)obj;
}
set { ViewState["PrevPageText"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NextPageText"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_NextPageText"), ANPCategory("cat_Navigation"), DefaultValue(">")]
public string NextPageText
{
get
{
if (null != cloneFrom)
return cloneFrom.NextPageText;
object obj = ViewState["NextPageText"];
return (obj == null) ? ">" : (string)obj;
}
set { ViewState["NextPageText"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="LastPageText"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_LastPageText"), ANPCategory("cat_Navigation"), DefaultValue(">>")]
public string LastPageText
{
get
{
if (null != cloneFrom)
return cloneFrom.LastPageText;
object obj = ViewState["LastPageText"];
return (obj == null) ? ">>" : (string)obj;
}
set { ViewState["LastPageText"] = value; }
}
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Property[@name="NumericButtonCount"]/*'/>
[Browsable(true), Themeable(false), ANPDescription("desc_NumericButtonCount"), ANPCategory("cat_Navigation"), DefaultValue(10)]
public int NumericButtonCount
{
get
{
if (null != cloneFrom)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -