如何实现类似博客中的分页效果
想要效果如下: 
上一篇:使用ms滤镜,将网页全部变成黑白...    下一篇:VS2008 代码度量 上一篇、下一篇的标题是如何调出来的

解决方案 »

  1.   

    我的都是通过信息的ID来判断的比如,现在查看的页面的信息ID是 10;
    要获得上一篇,可以运行一个循环,
    //获得上一篇
    for(int i=9;i>0;i--)
    {
    //在这里判断 对应的信息ID为 i 的信息是否存在,如果存在则记录一下(声明一个bool 变量:ismin,初始值为:false,如果存在则赋值为true)并且保存相关信息(信息ID,信息标题,信息地址),然后 return;
    }
    //获得下一篇,先获取最大信息ID
    int maxID=100;
    也是循环判断下一篇信息的ID,进行操作(和上一篇差不多),声明一bool变量 ismax通过判断 ismin 和ismax的值对 “上一篇” 和 “下一篇” 进行处理,
      

  2.   

    c# code:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;public partial class Default4 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string str = Request.QueryString["id"];
            OleDbConnection cn = new OleDbConnection();
            cn.ConnectionString = ConfigurationManager.ConnectionStrings["tx"].ConnectionString;
            cn.Open();
            //connect to previous page
            string cmdpre = "SELECT TOP 1 [id], [subject] FROM [msg] WHERE ([id] < " + str + ") ORDER BY [id] DESC";
            OleDbDataAdapter dapre = new OleDbDataAdapter(cmdpre, cn);
            DataSet dspre = new DataSet();
            dapre.Fill(dspre, "msg");
            foreach (DataRow dr in dspre.Tables["msg"].Rows)
            {
                pre.Text = dr["subject"].ToString();
                pre.PostBackUrl = "default4.aspx?id=" + dr["id"].ToString();
                //pre.DataBind();
            }
            //connect to next page        string cmdnext = "SELECT TOP 1 [id], [subject] FROM [msg] WHERE ([id] > " + str + ") ORDER BY [id]";
            OleDbDataAdapter danext = new OleDbDataAdapter(cmdnext, cn);
            DataSet dsnext = new DataSet();
            danext.Fill(dsnext, "msg");
            foreach (DataRow dr in dsnext.Tables["msg"].Rows)
            {            next.Text = dr["subject"].ToString();
                next.PostBackUrl = "default4.aspx?id=" + dr["id"].ToString();            //next.DataBind();
            }
            cn.Close();
        }
    }
    aspx page code:
    上一页:<asp:LinkButton ID="pre" runat="server"></asp:LinkButton>
    下一页:<asp:LinkButton ID="next" runat="server"></asp:LinkButton>