日期:2014-05-18  浏览次数:20393 次

C#如何实现分页功能
我的分页已经写好了。可是点击下一页,并没有实现分页功能啊。?

我用的是DataGrid控件,但我没有用内置的分页功能。

点击下一页,还提示页面有错误。

theForm._EVENTTARGET为空或不是对象

请高手指点!!!

------解决方案--------------------
Myconn.Open();//打开数据库
OleDbDataAdapter sqlAdapter = new OleDbDataAdapter(selectedCmd);//建立数据适配器
DataSet ds = new DataSet();//实例化数据库
sqlAdapter.Fill(ds);//填充适配器
PagedDataSource pageDataSource = new PagedDataSource();
pageDataSource.DataSource = ds.Tables[0].DefaultView;
pageDataSource.AllowPaging = true;
pageDataSource.PageSize = 8;
//定义变量用来保存当前页索引
int CurPage;
//判断是否具有页面跳转的请求
if (Request.QueryString["Page"] != null)
CurPage = Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage =1;

Response.Cookies["PageIndex"].Value= CurPage.ToString();
Response.Cookies["PageIndex"].Expires = DateTime.Now.AddDays(1);//设置COOKIES的过期时间为一天
//Session["PageIndex"] = CurPage.ToString();//把当前页的索引放入Session变量里
//设置当前页的索引
pageDataSource.CurrentPageIndex = CurPage - 1;
//显示状态信息
LabelPage.Text = "当前页:第" + CurPage.ToString() + "页,共" + pageDataSource.PageCount.ToString() + "页";
lblPageNumber.Text = Convert.ToString(pageDataSource.PageSize);
lblInfoCount.Text = Convert.ToString(pageDataSource.DataSourceCount);


//如果当前页面不是首页
if (!pageDataSource.IsFirstPage)
{
//定义"上一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
LinkPrevious.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
//首页的链接
hplinkFristPage.NavigateUrl = "index.aspx";
}
//如果当前页面不是最后一页
if (!pageDataSource.IsLastPage)
{
//定义"下一页"超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
LinkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
//尾页的链接 
hplinkLastPage.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(pageDataSource.PageCount.ToString());
}
//进行数据绑定
MyDatalist.DataSource = pageDataSource;
MyDatalist.DataBind();

这个是本人之前做的一个投票系统,现在把分页的代码贴出来给你看下。希望对你能有帮助。