zoukankan      html  css  js  c++  java
  • 分页类 动态页面生成静态页面。 思路是关键

    神奇的人们将这个功能神秘化,感觉太悬了,很NB的技术啊。其实呢,非常简单,思路是关键。

     

    这个功能分这么几个关键:

    1.页面上的 动态连接连接地址 改 静态页面地址。(News.aspx?id=5 → News.htm?id=5)

    2.列表的分页。

    2.动态页面 保存为 静态页面。

     

    具体说:

     

    后台呢,我设置一个开关,可以选择 动态模式 还是 静态模式,

    分页类 <wbr>动态页面生成静态页面。 <wbr>思路是关键(肯定是修改数据库的一个字段了)

     ------------------------------------------------------------------------------------------

    1.连接地址的改变,<a href='<%# eval_r("id") %>'>标题....</a> 

    那我这么写:<a href='<%# CuiNewsUrl( eval_r("id") ) %>' >标题....</a> 

     

        public string CuiNewsUrl(object o)
        {
            if (o == null)
            {
                return "#";
            }
            if (model_Num.Equals("1"))
            {
                return "/News/news" + o.ToString() + ".htm";
            }
            else
            {
                return "News.aspx?disp=" + o.ToString();
            }

        }

     

    这个方法不难看懂吧,model_Num是全局变量,来存放动、静模式。

     ------------------------------------------------------------------------------------

    2.列表分页。

    比如 NewsList.aspx页面,一页显示10条来分页。

      获得总条数,比如58条,

      那么也就是5页+1页,(具体代码不在此熬述)。

      如果是静态模式

     

    pageNum 是NewsList?page= 的参数,我点分页里的第一页,我就让NewsList?page=1,我点分页里的第2页,就NewsList?page=2

     

                int Previous = pageNum - 1;
                int Next = pageNum + 1;

                if (Previous == 0)
                {
                    Previous = 1;
                }
                if (Next > count)
                {
                    Next = count;
                }

               //获得上一页是第几页,下一页是第几页,下面把分页的按钮写出来。

     

    fystr.Append("<a href='/News/index" + Previous + ".htm'  title='上一页' style=\"font-family:webdings\">7</a>");
    for (int i = 1; i <= count; i++)
    {
        if (i == pageNum)
        {
            fystr.Append("&nbsp;<a href='/News/index" + i + ".htm' target='_self'><b>" + i + "</b></a>&nbsp;");
        }
        else
        {
            fystr.Append("&nbsp;<a href='/News/index" + i + ".htm' target='_self'>" + i + "</a>&nbsp;");
        }
    }
    fystr.Append("<a href='/News/index" + Next + ".htm'  title='下一页' style=\"font-family:webdings\">8</a>");

     

    也就出现了这样的效果:分页类 <wbr>动态页面生成静态页面。 <wbr>思路是关键

    --------------------------------------------------------------------

    3.静态页面生成:

    代码就不熬述,注意一点,生成的静态页面存放的文件夹要写对,

    比如 Newlist.aspx 里 静态地址是 /News/98.htm

    那么在生成静态页面的时候 就将 News.aspx?id=98 生成的静态页面 放在/News/文件夹中。

     

    其余的自己琢磨。有问题留言。

  • 相关阅读:
    洛谷 简单字符串 'P1055ISBN号码' 问题
    P1424
    洛谷训练P1008(循环+暴力)
    C语言中一些知识点
    二叉树的基本功能实现方法(C++)
    值传递,引用传递,指针传递
    istringstream、ostringstream、stringstream类介绍
    类模板的友元
    C++ 标准库和标准模板库(STL)
    常用数据类型对应字节数
  • 原文地址:https://www.cnblogs.com/binlunia/p/11267745.html
Copyright © 2011-2022 走看看