UrlPager source code - Properties.cs
/*
ASP.NET UrlPager control
Copyright:2009-2010 Webdiyer (http://en.webdiyer.com)
Source code released under Ms-PL license
*/
using System;
using System.ComponentModel;
using System.Web.Routing;
namespace Webdiyer.WebControls
{
public partial class UrlPager
{
#region fields
private const string CopyrightText =
"<!--ASP.NET UrlPager 1.0 Copyright:2010 Webdiyer(http://en.webdiyer.com)-->";
private static readonly object EventPageChanged = new object();
#endregion
#region public properties
/// <summary>
/// route name
/// </summary>
public string RouteName
{
get
{
object obj = ViewState["RouteValue"];
return (string)obj;
}
set { ViewState["RouteValue"] = value; }
}
/// <summary>
/// route values
/// </summary>
[Browsable(true)]
public RouteValueDictionary RouteValues { get
{
object obj = ViewState["RouteValues"];
return (RouteValueDictionary)obj;
}
set { ViewState["RouteValues"] = value; }
}
[DefaultValue(false)]
public bool InheritsRouteValues
{
get
{
object obj = ViewState["InheritsRouteValues"];
return obj == null ? false : (bool)obj;
}
set
{
ViewState["InheritsRouteValues"] = value;
}
}
[Browsable(false)]
public int TotalItemCount
{
get
{
object obj = ViewState["TotalItemCount"];
return obj == null ? 0 : (int)obj;
}
set
{
int count = value;
if (value < 0)
count = 0;
ViewState["TotalItemCount"] = count;
}
}
[DefaultValue(10)]
public int PageSize
{
get
{
object obj = ViewState["PageSize"];
return obj == null ? 10 : (int)obj;
}
set
{
int pageSize = value;
if (value <= 0)
pageSize = 10;
ViewState["PageSize"] = pageSize;
}
}
/// <summary>
/// whether or not hide control(render nothing) automatically when there's only one page
/// </summary>
[DefaultValue(true)]
public bool AutoHide
{
get
{
object obj = ViewState["AutoHide"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["AutoHide"] = value;
}
}
/// <summary>
/// page index parameter name in url
/// </summary>
[DefaultValue("pageIndex"),Browsable(true)]
public string PageIndexParameterName
{
get
{
object obj = ViewState["PageIndexParameterName"];
return obj == null ? "pageIndex" : (string)obj;
}
set { ViewState["PageIndexParameterName"] = value; }
}
/// <summary>
/// numeric pager item format string
/// </summary>
[DefaultValue(null)]
public string PageNumberFormatString
{
get{return (string)ViewState["PageNumberFormatString"];}
set { ViewState["PageNumberFormatString"] = value; }
}
/// <summary>
/// all pageritem wrapper format string
/// ToDo:此属性未使用
/// </summary>
[DefaultValue("{0} ")]
public string PagerItemWrapperFormatString
{
get
{
object obj = ViewState["PagerItemWrapperFormatString"];
return obj == null ? "{0} " : (string)obj;
}
set { ViewState["PagerItemWrapperFormatString"] = value; }
}
/// <summary>
/// current pager item format string
/// </summary>
public string CurrentPageNumberFormatString
{
get{return (string)ViewState["CurrentPageNumberFormatString"];}
set { ViewState["CurrentPageNumberFormatString"] = value; }
}
/// <summary>
/// NumericPager Item Wrapper Format String
/// </summary>
[DefaultValue("{0} ")]
public string NumericPagerItemWrapperFormatString
{
get
{
object obj = ViewState["NumericPagerItemWrapperFormatString"];
return obj == null ? PagerItemWrapperFormatString : (string)obj;
}
set { ViewState["NumericPagerItemWrapperFormatString"] = value; }
}
/// <summary>
/// Current Pager Item Wrapper Format String
/// </summary>
[DefaultValue("{0} ")]
public string CurrentPagerItemWrapperFormatString
{
get
{
object obj = ViewState["CurrentPagerItemWrapperFormatString"];
return obj == null ? PagerItemWrapperFormatString : (string)obj;
}
set { ViewState["CurrentPagerItemWrapperFormatString"] = value; }
}
/// <summary>
/// NavigationPager Item Wrapper Format String
/// </summary>
[DefaultValue("{0} ")]
public string NavigationPagerItemWrapperFormatString
{
get
{
object obj = ViewState["NavigationPagerItemWrapperFormatString"];
return obj == null ? PagerItemWrapperFormatString : (string)obj;
}
set { ViewState["NavigationPagerItemWrapperFormatString"] = value; }
}
/// <summary>
/// MorePagerItem Wrapper Format String
/// </summary>
[DefaultValue("{0} ")]
public string MorePagerItemWrapperFormatString
{
get
{
object obj = ViewState["MorePagerItemWrapperFormatString"];
return obj == null ? PagerItemWrapperFormatString : (string)obj;
}
set { ViewState["MorePagerItemWrapperFormatString"] = value; }
}
/// <summary>
/// whether or not show first and last numeric page number
/// </summary>
[DefaultValue(false)]
public bool AlwaysShowFirstLastPageNumber
{
get
{
object obj = ViewState["AlwaysShowFirstLastPageNumber"];
return obj == null ? false : (bool)obj;
}
set
{
ViewState["AlwaysShowFirstLastPageNumber"] = value;
}
}
/// <summary>
/// numeric pager items count
/// </summary>
[DefaultValue(10)]
public int NumericPagerItemCount
{
get
{
object obj = ViewState["NumericPagerItemCount"];
return obj == null ? 10 : (int)obj;
}
set { ViewState["NumericPagerItemCount"] = value; }
}
/// <summary>
/// whether or not show previous and next pager items
/// </summary>
[DefaultValue(true)]
public bool ShowPrevNext
{
get
{
object obj = ViewState["ShowPrevNext"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["ShowPrevNext"] = value;
}
}
/// <summary>
/// previous page text
/// </summary>
[DefaultValue("Prev")]
public string PrevPageText
{
get
{
string txt = (string)ViewState["PrevPageText"];
return string.IsNullOrEmpty(txt) ? "Prev" : txt;
}
set { ViewState["PrevPageText"] = value; }
}
/// <summary>
/// next page text
/// </summary>
[DefaultValue("Next")]
public string NextPageText
{
get
{
string txt = (string)ViewState["NextPageText"];
return string.IsNullOrEmpty(txt) ? "Next" : txt;
}
set { ViewState["NextPageText"] = value; }
}
/// <summary>
/// whether or not show numeric pager items
/// </summary>
[DefaultValue(true)]
public bool ShowNumericPagerItems
{
get
{
object obj = ViewState["ShowNumericPagerItems"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["ShowNumericPagerItems"] = value;
}
}
/// <summary>
/// whether or not show first and last pager items
/// </summary>
[DefaultValue(true)]
public bool ShowFirstLast
{
get
{
object obj = ViewState["ShowFirstLast"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["ShowFirstLast"] = value;
}
}
/// <summary>
/// first page text
/// </summary>
[DefaultValue("First")]
public string FirstPageText
{
get
{
string txt = (string)ViewState["FirstPageText"];
return string.IsNullOrEmpty(txt) ? "First" : txt;
}
set { ViewState["FirstPageText"] = value; }
}
/// <summary>
/// last page text
/// </summary>
[DefaultValue("Last")]
public string LastPageText
{
get
{
string txt = (string)ViewState["LastPageText"];
return string.IsNullOrEmpty(txt) ? "Last" : txt;
}
set { ViewState["LastPageText"] = value; }
}
/// <summary>
/// whethor or not show more pager items
/// </summary>
[DefaultValue(true)]
public bool ShowMorePagerItems
{
get
{
object obj = ViewState["ShowMorePagerItems"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["ShowMorePagerItems"] = value;
}
}
/// <summary>
/// more page text
/// </summary>
[DefaultValue("...")]
public string MorePageText
{
get
{
string txt = (string)ViewState["MorePageText"];
return string.IsNullOrEmpty(txt) ? "..." : txt;
}
set { ViewState["MorePageText"] = value; }
}
/// <summary>
/// whether or not show disabled pager items
/// </summary>
[DefaultValue(true)]
public bool ShowInactivePagerItems
{
get
{
object obj = ViewState["ShowInactivePagerItems"];
return obj == null ? true : (bool)obj;
}
set
{
ViewState["ShowInactivePagerItems"] = value;
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int CurrentPageIndex
{
get
{
object cpage = ViewState["CurrentPageIndex"];
int pindex = (cpage == null) ? 1 : (int)cpage;
if (pindex > PageCount && PageCount > 0)
return PageCount;
if (pindex < 1)
return 1;
return pindex;
}
set
{
int cpage = value;
if (cpage < 1)
cpage = 1;
else if (cpage > PageCount)
cpage = PageCount;
ViewState["CurrentPageIndex"] = cpage;
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int StartRecordIndex
{
get
{
return (CurrentPageIndex - 1) * PageSize + 1;
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int EndRecordIndex
{
get
{
if (CurrentPageIndex < PageCount)
return (CurrentPageIndex * PageSize);
return TotalItemCount;
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int PageCount
{
get
{
if (TotalItemCount == 0)
return 1;
return (int)Math.Ceiling((double)TotalItemCount / (double)PageSize);
}
}
#endregion
}