当前位置:编程学习 > C#/ASP.NET >>

问一个很菜鸟的问题。。AspNetPager分页控件怎么用?

我分了几个贴子。。好多人都是回答用AspNetPager分页控件
于是我下了个。。怎么也不会用。。
还有一些相关帖子中回复说去这个
http://www.webdiyer.com/doc/Wuqi.Webdiyer.AspNetPager.html
我怎么打不开??
我下载 的分布控件是这种形式的:
《〈 1 2 3 4 5 6 7 8 9 10... 〉》
数据查询用的是分页存储过程。。
数据显示控件用的是DataGrid。。。。。有人会不?
贴点相关代码或说明一下
--------------------编程问答-------------------- 自己写代码完成分页吧!这个不难的,我们都是自己写的! --------------------编程问答-------------------- 还是自己写好,想什么洋都可以 --------------------编程问答-------------------- 有说明文档的 --------------------编程问答--------------------
他写的示例初学者根本不会用的,我也是费了好大劲才弄会的,不过不是用存储过程,给你看看:



 public void BindData()
    {
        string connstr = System.Configuration.ConfigurationManager.AppSettings["SqlConnectionString"];

        SqlConnection myConn = new SqlConnection(connstr);
        myConn.Open();

        string sql = "select * from TestPager"; //告诉程序要读取哪张表的数据
        SqlDataAdapter myAdapter = new SqlDataAdapter(sql, myConn);
        DataSet ds = new DataSet();
        myAdapter.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "dtable");
        myConn.Close();

        

        this.Repeater1.DataSource = ds.Tables[0].DefaultView;
        this.Repeater1.DataBind();
    }
    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        BindData();

    }
--------------------编程问答-------------------- 自己写吧,方便想怎么改怎么改 --------------------编程问答-------------------- SqlConnection conn = new SqlConnection("server=localhost;database=bgglxt;uid=sa;pwd='7802456'");
               conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "SELECT  * FROM basic_plan";
                cmd.Connection = conn;
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds);
               PagedDataSource objPage = new PagedDataSource();
                objPage.DataSource = ds.Tables[0].DefaultView;
                objPage.AllowPaging = true;
                objPage.PageSize = 20;
                int CurPage;
                if (Request.QueryString["Page"] != null)
                    CurPage = Convert.ToInt32(Request.QueryString["Page"]);
                else CurPage = 1;
                objPage.CurrentPageIndex = CurPage - 1;
                lblCurPage.Text = "总" + objPage.PageCount.ToString() + "页 当前第" + CurPage.ToString() + "页";
                HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + objPage.PageCount;
                HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath;
                Labely.Text = CurPage.ToString();
                if (!objPage.IsFirstPage)
                {
                    LnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + Convert.ToString(CurPage - 1);
                                    }
                if (!objPage.IsLastPage)
                {
                    LnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + Convert.ToString(CurPage + 1);
                                    }

                Repeater1.DataSource = objPage;
                Repeater1.DataBind();


                da.Dispose();
                conn.Close(); --------------------编程问答-------------------- 我自己写的时候有人就说用控件。。
--------------------编程问答-------------------- 用控件省心 自己写自由 控件做的只是你告诉它总页数和当前页码 它给你显示分页导航 数据肯定还是要自己读取的 --------------------编程问答-------------------- http://www.webdiyer.com/ 有例子下载。 --------------------编程问答-------------------- 还是没有搞懂。。。
我以我的程序说明

DataGrid
----------------------------
分页控件。。。。。

后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
Showinfo();
}
}

private void ShowNews()
{

                           
DataSet ds=Tools.GetAll(......);//得到一个ds
int pageCount=Tools.GetCount();//得到总记录数
//我能给的参数就是这些。。。
this.dg_s.DataSource=ds.Tables[0].DefaultView;
this.dg_s.DataBind();
//后边的就不会了


}

private void AspNetPager1_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
{
//这里也不会

}

--------------------编程问答-------------------- --------------------编程问答-------------------- mark!!!!!! --------------------编程问答-------------------- set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER proc [dbo].[EmpPage]
@pagesize int,
@currentpageIndex int
as 
  declare @sql nvarchar(500)
  set @sql=' select Top '+ convert(varchar(10),@pagesize)+
           ' * from NewsInfo where NewsId not in (select Top '+
             convert(varchar(10),(@currentpageIndex-1) * @pagesize)+
           ' NewsId from NewsInfo order by NewsId ASC) order by NewsId ASC '


exec sp_executesql @sql

--------------------编程问答-------------------- 晕死了,这么老的帖子都被顶起来了!!楼主呢?没结帖就跑了:)

===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道 --------------------编程问答--------------------   如果楼主还没解决。。


解决方案
===============================


加我的QQ 280166537.

通过远程我给你演示一次。 --------------------编程问答-------------------- 2007年的贴 ,楼主早转行了。 --------------------编程问答-------------------- 这个也太早了 …………

自己写了用方便点 --------------------编程问答--------------------

这么深的贴子挖出来。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,