/// </remarks>
[Browsable(true),
Category("Behavior"),
DefaultValue(false),
Description("总是显示分页控件,即使要分页的数据只要一页")]
public bool AlwaysShow
{
get
{
object obj=ViewState["AlwaysShow"];
return (obj==null)?false:(bool)obj;
}
set
{
ViewState["AlwaysShow"]=value;
}
}
/// <summary>
/// 获取或设置由 AspNetPager 服务器控件在客户端呈现的级联样式表 (CSS) 类。
/// </summary>
[Browsable(true),
Description("应用于控件的CSS类名"),
Category("Appearance"),
DefaultValue(null)]
public override string CssClass
{
get{return base.CssClass;}
set
{
base.CssClass=value;
cssClassName=value;
}
}
/// <summary>
/// 获取或设置一个值,该值指示 AspNetPager 服务器控件是否向发出请求的客户端保持自己的视图状态,该属性经重写后不允许设为false。
/// </summary>
/// <remarks><see cref="AspNetPager"/> 服务器控件将一些重要的分页信息保存在ViewState中,当使用Url分页方式时,虽然视图状态在分页过程中没有任何作用,但若当前页需要回发,则必须启用视图状态以便分页控件能在页面回发后获取回发前的分页状态;当通过页面回发(PostBack)的方式来分页时,要使AspNetPager正常工作,必须启用视图状态。
/// <p><note>该属性并不能禁止用户用<![CDATA[<%@Page EnableViewState=false%> ]]>页指令来禁用整个页面的视图状态,当使用此指令并且设置AspNetPager通过页面回发来分页时,AspNetPager因为无法获取保存的信息而不能正常工作。</note></p></remarks>
[Browsable(false),
Description("是否启用控件的视图状态,该属性的值必须为true,不允许用户设置。"),
DefaultValue(true),
Category("Behavior")]
public override bool EnableViewState
{
get
{
return base.EnableViewState;
}
set
{
base.EnableViewState=true;
}
}
/// <summary>
/// 获取或设置当用户输入的页索引超出范围(大于最大页索引或小于最小页索引)时在客户端显示的错误信息。
/// </summary>
[Browsable(true),
Description("当用户输入的页索引超出范围(大于最大页索引或小于最小页索引)时在客户端显示的错误信息。"),
DefaultValue("页数超出范围!"),
Category("Data")]
public string PageIndexOutOfRangeErrorString
{
get
{
object obj=ViewState["PageIndexOutOfRangeErrorString"];
return (obj==null)?"页数超出范围!":(string)obj;
}
set
{
ViewState["PageIndexOutOfRangeErrorString"]=value;
}
}
/// <summary>
/// 获取或设置当用户输入无效的页索引(负值或非数字)时在客户端显示的错误信息。
/// </summary>
[Browsable(true),
Description("当用户输入无效的页索引(负值或非数字)时在客户端显示的错误信息。"),
DefaultValue("页索引无效!"),
Category("Data")]
public string InvalidPageIndexErrorString
{
get
{
object obj=ViewState["InvalidPageIndexErrorString"];
return (obj==null)?"页索引无效!":(string)obj;
}
set
{
ViewState["InvalidPageIndexErrorString"]=value;
}
}
#endregion
#endregion
#region Control Rendering Logic
/// <summary>
/// 重写 <see cref="System.Web.UI.Control.OnLoad"/> 方法。
/// </summary>
/// <param name="e">包含事件数据的 <see cref="EventArgs"/> 对象。</param>
protected override void OnLoad(EventArgs e)
{
if(urlPaging)
{
currentUrl=Page.Request.Path;
urlParams=Page.Request.QueryString;
string pageIndex=Page.Request.QueryString[urlPageIndexName];
int index=1;
try
{
index=int.Parse(pageIndex);
}
catch{}
OnPageChanged(new PageChangedEventArgs(index));
}
else
{
inputPageIndex=Page.Request.Form[this.UniqueID "_input"];
}
base.OnLoad(e);
}
/// <summary>
/// 重写<see cref="System.Web.UI.Control.OnPreRender"/>方法。
/// </summary>
/// <param name="e">包含事件数据的 <see cref="EventArgs"/> 对象。</param>
protected override void OnPreRender(EventArgs e)
{
if(PageCount>1)
{
string checkscript="<script language="Javascript">function doCheck(el){var r=new RegExp("^s*(d )s*$");if(r.test(el.value)){if(RegExp.$1<1||RegExp.$1>" PageCount.ToString() "){alert("" PageIndexOutOfRangeErrorString "");document.all['" this.UniqueID "_input'].select();return false;}return true;}alert("" InvalidPageIndexErrorString "");document.all['" this.UniqueID "_input'].select();return false;}</script>";
if((ShowInputBox==ShowInputBox.Always)||(ShowInputBox==ShowInputBox.Auto&&PageCount>=ShowBoxThreshold))
{
if(!Page.IsClientScriptBlockRegistered("checkinput"))
Page.RegisterClientScriptBlock("checkinput",checkscript);
string script="<script language="javascript" > <!-- nfunction BuildUrlString(key,value){ var _key=key.toLowerCase(); var prms=location.search; if(prms.length==0) return location.pathname "?" _key "=" value; var params=prms.substring(1).split("&"); var newparam=""; var found=false; for(i=0;i<params.length;i ){ if(params[i].split("=")[0].toLowerCase()==_key){ params[i]=_key "=" value; found=true; break; } } if(found) return location.pathname "?" params.join("&"); else return location "&" _key "=" value; }n//--> </script>";
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



