通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>

通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

1.建立用户控件Pager.ascx

1.1 html

scriptlanguage="javascript">
functioncallButtonEvent()
{
varkeycode=window.event.keyCode;
if(keycode==13)
{
if(check()==true)
{
event.cancelBubble
=true;
event.returnValue
=false;
document.getElementById('
btnGo.ClientID%>').click();
}

}

}

functioncheck()
{
varcount=parseInt(document.getElementById('lblTotal.ClientID%>').outerText);
vartxt=document.getElementById('txtCurrentPage.ClientID%>').value;
varcur=parseInt(txt);
if((cur|NaN)==0)
{
alert('Inputpagemustformatasinteger.');
event.cancelPostBack
=true;
returnfalse;
}

if(cur>count||cur1)
{
alert('Inputpagenooutofrange.');
event.cancelPostBack
=true;
returnfalse;
}

}

script>
TABLEID="Table1"CELLSPACING="0"CELLPADDING="0"WIDTH="100%"BORDER="0">
colgroup>
colwidth="400">
colwidth="50">
colwidth="50">
colwidth="40">
colwidth="20">
colwidth="40">
colwidth="40">
colwidth="50">
colwidth="70">
colgroup>
TRalign="right">
td>td>
TD>asp:LinkButtonid="btnFirstPage"runat="server"CommandArgument="First">第一页asp:LinkButton>TD>
TD>asp:LinkButtonid="btnPrevPage"runat="server"CommandArgument="Prev">上一页asp:LinkButton>TD>
TD>ASP:TEXTBOXID="txtCurrentPage"RUNAT="server"MAXLENGTH="3"Width="40">0ASP:TEXTBOX>TD>
TD>ASP:LABELID="labOf"RUNAT="server">ofASP:LABEL>TD>
TD>ASP:LABELID="lblTotal"RUNAT="server">0ASP:LABEL>TD>
TD>ASP:BUTTONID="btnGo"RUNAT="server"TEXT="转到"COMMANDARGUMENT="Go"ToolTip="转到">ASP:BUTTON>TD>
TD>asp:LinkButtonid="btnNextPage"runat="server"CommandArgument="Next">下一页asp:LinkButton>TD>
TD>asp:LinkButtonid="btnLastPage"runat="server"CommandArgument="Last">最后一页asp:LinkButton>TD>
TR>
TABLE>

1.2 cs代码

public class Pager:System.Web.UI.UserControl
{
protectedSystem.Web.UI.WebControls.LabellblTotal;
protectedSystem.Web.UI.WebControls.LabellabOf;
protectedSystem.Web.UI.WebControls.TextBoxtxtCurrentPage;
protectedSystem.Web.UI.WebControls.ButtonbtnGo;
protectedSystem.Web.UI.WebControls.LinkButtonbtnFirstPage;
protectedSystem.Web.UI.WebControls.LinkButtonbtnPrevPage;
protectedSystem.Web.UI.WebControls.LinkButtonbtnNextPage;
protectedSystem.Web.UI.WebControls.LinkButtonbtnLastPage;
intsize=10;//可以在web.config中配置
publiceventSystem.EventHandlerNavigationClick;

privatevoidPage_Load(objectsender,System.EventArgse)
{
this.txtCurrentPage.Attributes.Add("onkeypress","callButtonEvent();");
this.btnGo.Attributes.Add("onclick","check();");
if(!this.IsPostBack)
{
SetStyle();
SetEnable();
}

}


WebFormDesignergeneratedcode#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner.
//
InitializeComponent();
base.OnInit(e);
this.btnFirstPage.Click+=newSystem.EventHandler(this.btnGo_Click);
this.btnPrevPage.Click+=newSystem.EventHandler(this.btnGo_Click);
this.btnNextPage.Click+=newSystem.EventHandler(this.btnGo_Click);
this.btnLastPage.Click+=newSystem.EventHandler(this.btnGo_Click);
this.btnGo.Click+=newSystem.EventHandler(this.btnGo_Click);
}


/**////<summary></summary>
///RequiredmethodforDesignersupport-donotmodify
///thecontentsofthismethodwiththecodeeditor.
///

privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);

}

#endregion


btnGo_Click#regionbtnGo_Click
privatevoidbtnGo_Click(objectsender,System.EventArgse)
{
LinkButtonlinkbtn
=senderasLinkButton;
if(null==linkbtn)//button
{
Buttonbtn
=senderasButton;
if(null==btn)
{
return;
}

else
{
intselPage=-1;
try
{
selPage
=Int32.Parse(txtCurrentPage.Text);
}

catch
{
selPage
=-1;
}

if(selPage>0&&selPagePageCount)
{
ViewState[
"CurrentPageIndex"]=selPage;
}

else
{
return;
}

}

}

else//linkbutton
{
switch(linkbtn.CommandArgument.Trim())
{
case"First":
ViewState[
"CurrentPageIndex"]=1;
break;
case"Prev":
ViewState[
"CurrentPageIndex"]=(CurrentPageIndex>1)?CurrentPageIndex-1:1;
break;
case"Next":
ViewState[
"CurrentPageIndex"]=(PageCount>CurrentPageIndex)?CurrentPageIndex+1:PageCount;
break;
case"Last":
ViewState[
"CurrentPageIndex"]=PageCount;
break;
default:
break;
}

}

SetEnable();
//设置显示样式
if(NavigationClick!=null)//调用事件
{
NavigationClick(sender,e);
}

}

#endregion


SetStyle#regionSetStyle
privatevoidSetStyle()
http://www.cnblogs.com/Images/OutliningIn
分享到:
评论

你可能感兴趣的:(JavaScript,UI,Web,asp,Go)