ASPNETPager常用属性
建议去封装好,然后调用这样比较容易
<webdiyer:aspnetpager id="AspNetPager1" runat="server"
alwaysshow="True"
PageSize="5"
custominfosectionwidth="20%"
custominfotextalign="Right"
firstpagetext="第一页"
horizontalalign="Left"
lastpagetext="末一页"
navigationbuttontype="Image"
nextpagetext="后一页"
pageindexboxtype="TextBox"
pagingbuttonspacing="8px"
PRevpagetext="前一页"
showcustominfosection="Right"
showpageindexbox="Always"
textafterpageindexbox="页"
UrlPaging="true"
textbeforepageindexbox="跳到第"
width="97%"
onpagechanged="AspNetPager1_PageChanged">
</webdiyer:aspnetpager>
alwaysshow:总是显示分页控件;
PageSize:指定每页显示的记录数;
custominfosectionwidth:用户自定义信息区的宽度;
custominfotextalign:用户自定义信息区的对齐方式;
firstpagetext:第一页按钮上显示的文本;
horizontalalign:内容水平对齐方式;
lastpagetext:最后页按钮上显示的文本;
navigationbuttontype:第一页、下一页、最后一页按钮的类型;
nextpagetext:下一页按钮上显示的文本;
pageindexboxtype:指示页索引框的显示类型:有TextBOX和dropdownlist两种;
pagingbuttonspacing:导航页按钮的间距;
prevpagetext:上一页按钮的显示的文本;
showcustominfosection:显示当前页和总页信息,默认为不显示,值为LEFT时将显示在页索引前,为right时显示在页索引后;
showpageindexbox:指定页索引文本框或下拉框的显示方式;
textafterpageindexbox:指定页索引文本框或下拉框后的文本;
UrlPaging:是够使用URL传递分页的方式来分页;
textbeforepageindexbox:指定页索引文本框或下拉框前面显示的文本;
width:该控件的宽度;
CustomInfoHTML:指定要显示在用户自定义信息区的用户自定义HTML信息文本
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.xml.Linq;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Bind();
}
private void Bind()
{
int pageindex = 1;
int pagenum = AspNetPager1.PageSize;
if (Request["page"] != null)
{
pageindex =Convert.ToInt32(Request["page"]);
}
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString ());
SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
SqlDataAdapter sda = new SqlDataAdapter("select top (@pagenum) * from pagetest where id not in (select top (@pagenum*(@pageindex-1)) id from pagetest)", con);
sda.SelectCommand.Parameters.AddWithValue("pagenum",pagenum);
sda.SelectCommand.Parameters.AddWithValue("pageindex",pageindex);
sda.Fill(ds);
SqlCommand cmd = new SqlCommand("select count(*) from pagetest", con1);
con1.Open();
AspNetPager1.RecordCount =Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
AspNetPager1.CustomInfoHTML = "共" + AspNetPager1.RecordCount + "条记录" + AspNetPager1.CurrentPageIndex + "/" + AspNetPager1.PageCount;
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
Bind();
}
}
深入分析CurrentPageIndex、RecordCount、PageCount、PageSize:
pagecount:
public int PageCount
{
get
{
if (this.RecordCount == 0)
{
return 1;
}
return (int) Math.Ceiling((double) (((double) this.RecordCount) / ((double) this.PageSize)));
}
}
recordcount:
public int RecordCount
{
get
{
if (this.cloneFrom != null)
{
return this.cloneFrom.RecordCount;
}
object obj2 = this.ViewState["Recordcount"];
if (obj2 != null)
{
return (int) obj2;
}
return 0;
}
set
{
this.ViewState["Recordcount"] = value;
}
}
CurrentPageIndex:
public int CurrentPageIndex
{
get
{
if (this.cloneFrom != null)
{
return this.cloneFrom.CurrentPageIndex;
}
object obj2 = this.ViewState["CurrentPageIndex"];
int num = (obj2 == null) ? 1 : ((int) obj2);
if ((num > this.PageCount) && (this.PageCount > 0))
{
return this.PageCount;
}
if (num < 1)
{
return 1;
}
return num;
}
set
{
int pageCount = value;
if (pageCount < 1)
{
pageCount = 1;
}
else if (pageCount > this.PageCount)
{
pageCount = this.PageCount;
}
this.ViewState["CurrentPageIndex"] = pageCount;
}
}
PageSize:
public int PageSize
{
get
{
int num;
if ((!string.IsNullOrEmpty(this.UrlPageSizeName) && !base.DesignMode) && (int.TryParse(this.Page.Request.QueryString[this.UrlPageSizeName], out num) && (num > 0)))
{
return num;
}
if (this.cloneFrom != null)
{
return this.cloneFrom.PageSize;
}
object obj2 = this.ViewState["PageSize"];
if (obj2 != null)
{
return (int) obj2;
}
return 10;
}
set
{
this.ViewState["PageSize"] = value;
}
}
AlwaysShow
获取或设置一个值,该值指定是否总是显示AspNetPager分页按件,即使要分页的数据只有一页。
CurrentPageButtonPosition
当前页数字按钮在所有数字分页按钮中的位置,可选值为:Beginning(最前)、End(最后)、Center(居中)和Fi
新闻热点
疑难解答