首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求分页思路啊整了几天了,毫无办法

2012-09-24 
求分页思路啊,整了几天了,一筹莫展我在做一个留言板,想把数据库某表中的记录逐条分页显示出来,就像csdn论

求分页思路啊,整了几天了,一筹莫展
我在做一个留言板,想把数据库某表中的记录逐条分页显示出来,就像csdn论坛这种样式(完了还有管理,回复等功能),请教具体步骤跟方法思路,不要贴链接,我看过好多个了,要么老长不知如何套用,麻烦前辈耐心指点一下,越详细越好了,(创建什么文件开始),在线等,弄好速度给分

[解决办法]
分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx
[解决办法]
思路无非是从数据库里读取 第n条到第m条的数据。。其中这个n和m是根据你需要分页的每页条数决定的。比如你15条数据分3页显示,你要查看第二页的数据就查询第6到第10条数据。数据库查询的部分自己写存储过程或者SQL语句了,分页控件的话可以用 AspNetPager ,用法可以参考 http://blog.csdn.net/ptyzhu/article/details/7911708
[解决办法]
我做的留言板 跟CSDN类似 有回复功能 
管理吗 只有 删除 留言 删除 回复 

用DataList 控件 回复的话 在DataList里面嵌套一个DataList
这是后台给DataList 绑定数据 分页代码

C# code
public void DataListBind()                                          //将数据绑定到Datalist控件    {        string connectString = @"Data Source=.;Initial Catalog=MyWeb;User ID=sa;Password=123456";        SqlConnection conn = new SqlConnection(connectString);        string sqlStr = "select * from Message order by no desc";        SqlDataAdapter sda = new SqlDataAdapter(sqlStr, conn);        DataSet ds = new DataSet();        sda.Fill(ds, "pro");        //创建数据源        PagedDataSource pds = new PagedDataSource();        pds.DataSource = ds.Tables["pro"].DefaultView;        //允许分页        pds.AllowPaging = true;        //设置每页显示记录数        pds.PageSize = 5;        //获取总页数        pageCount = pds.PageCount;        this.lb_PageCount.Text = pageCount.ToString();        pds.CurrentPageIndex = currentPage - 1;        //当前页        this.lb_CurrentPage.Text = Convert.ToString(currentPage);        //数据绑定        this.dl_ShowMessage.DataSource = pds;        this.dl_ShowMessage.DataBind();    }    /// <summary>    /// 上一页     /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void PreviousLB_Click(object sender, EventArgs e)    {        if (this.lb_CurrentPage.Text != "1")        {            currentPage = int.Parse(this.lb_CurrentPage.Text) - 1;            this.lb_CurrentPage.Text = currentPage.ToString();            DataListBind();        }    }    /// <summary>    /// 下一页    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void NextLB_Click(object sender, EventArgs e)    {        if (this.lb_PageCount.Text == this.lb_CurrentPage.Text)        {        }        else        {            currentPage = int.Parse(this.lb_CurrentPage.Text) + 1;            this.lb_CurrentPage.Text = currentPage.ToString();            DataListBind();        }    }    /// <summary>    /// 第一页    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void FirstLB_Click(object sender, EventArgs e)    {        if (this.lb_CurrentPage.Text == "1")        {        }        else        {            currentPage = 1;            DataListBind();        }    }    /// <summary>    /// 最后一页    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void EndLB_Click(object sender, EventArgs e)    {        this.lb_CurrentPage.Text = this.lb_PageCount.Text;        currentPage = int.Parse(this.lb_CurrentPage.Text);        DataListBind();    }
[解决办法]
探讨

分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx

------解决方案--------------------


探讨

分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx

[解决办法]
可以使用一些现成的控件,但自己最好研究下原理,代码之类的,对自己提高有帮助的
[解决办法]
给你个比较好点的思路,先读数据库200条数据,存放在一个DATATABLE中,每页显示20条,当翻到10也或者该页面刷新的时候在去数据库抓取200条数据,抓多少数据看你分页了,这样能解决你数据库数据过多而导致分页卡,则不需要每次翻页都对数据库读取。
[解决办法]
探讨
引用:

分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx


二楼的这个控件非常好用,我一直在用。推荐你试试。另外,感谢二楼。

[解决办法]
http://blog.csdn.net/wangyizhi58/article/details/7914582 看看吧或许有帮助
[解决办法]
探讨

引用:

分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx


我倒觉得你用这个挺不错,先用懂了,熟了。再自己写就简单多了。

[解决办法]
告诉你我经常的做法吧。
用reapeat控件
1. 肯定是做好了界面了,然后把要循环的html放入
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
/***这里放要循环的html,在指定的地方放入要绑定的数据,***/

</ItemTemplate>
</asp:Repeater>

2. 在后台给Repeater绑定数据就行了

3. 分页的话,你直接在网上搜搜Repeater自定义分页就行了


我是很烦用那些第三方空间的


[解决办法]
LZ要真分页还是假分页啊。

两个分页的方法略有不同啊。

1.查出数据库所有记录,每页显示10行。

2.每次查10条记录显示出来,下一页从上一页的最后一个记录id的下一个id开始查10条记录!

思路就上边两个方法。

貌似用reapeat是比较好的。



[解决办法]
探讨
分页可以用AspNetPager,示例在这里:http://webdiyer.com/AspNetPagerDemo/default.aspx

热点排行