一:生成静态页面后如何处理分页,比如一个论坛二:一个网站的首页生成静态页后,在添加新闻时必须从新生成静态页,但是从新生成肯定是将原来的页面替换掉,但是如果这样的话要是有人正在访问该页怎么处理,比如像tom shou 163每时每刻都有人访问。三:比如一个新闻发布系统,是在数据库里只保存新闻标题与静态页的文件名,还是将所有的数据都保存在数据库里,如果只保存静态页的标题与文件名,如何修改数据。四:先就想到这么多,还望其他的兄弟接着提出问题。大家一起讨论

解决方案 »

  1.   

    1。论坛的分页有的用DATAGRID自己的分页,有的是自己写的。(大部分人都感觉自己写的效率高^_^,或者是感觉写的存储过程比较好)
    2。别人正在访问的页面已经保存到了客户机器的临时文件夹里了。他们不刷新根本感觉不到你的页面已经变了。
    3。感觉存到数据库里比较容易操作。
    4。继续讨论。
      

  2.   

    1. 象CSDN这样的网站, 论坛帖子列表不是静态页面, 是不是要做成静态页面要看你的应用环境, 更新速度比较快的, 就没有必要生成静态页面了, 象CSDN开发中是用了cache将查询的record在内存里缓存3分钟而非静态页面.2. 服务器应答客户端的请求, 响应这个请求的返还客户端的是这个页面的一个拷贝而不是页面本身, 在这个请求动作完成之后服务器端的页面发生更改不会影响原来的访问.3. 还是以CSDN为例吧, 单个贴子生成为静态文件对服务器的压力是最小的, (没有计算, 只有硬盘的IO), 但是管理这些贴子则要把贴子的一些特征存放在库里以便于管理, 比如统计, 检索等, 另外就是这种单贴的静态化需要一个模板, 而这个模板的好坏能体现你WEB功底, 比如说全局的样式表, 模板更新的容易程度等, 你看那些门户网站的新闻贴子, 呵呵, 都是一个模子里倒出来的.4. 现在做WEB的人特别是做.NET的人大多都是半道出家, 从C/S转到WEB开发, 服务器端的结构, 代码没有话说, 可是客户端的结构, 网站的整体结构都是一塌子糊涂.
      

  3.   

    datagrid自定义分页是datagrid的一个重要的功能,datagrid自定义分页主要用于数据源较大时。因为数据源大(记录多),加载时间长,反应慢,耗服务器的资源。而且每显示一页就要重新加载所有的数据。而如果我们用自定义分页,则每一次只加载一页的记录,也就是只加载我们要显示的记录。这样加载数据时间短,反应快,节约服务器的资源。在做项目的过程中,我们也经常需要用到自定义功能。今天我们就说说怎样自定义分页。
    先看看datagrid的自定义分页的原理,它主要依据两个主要属性,第一个就是VirtualItemCount属性,它表示datagrid一共要显示多少条记录,它就是的作用是用于生成pager(分页导航行),通过结合另外两个属性pagesize和PageButtonCount,datagrid就知道要分成多少页了及当前要显示多少个分页按钮,我们不难得到总共要显示的总页数=(VirtualItemCount+pagesize-1)/pagesize;如要总页数<PageButtonCount,则显示总页数个按钮;如果总页数>PageButtonCount,则显示PageButtonCount个按钮,当然到了最后一页就只显示VirtualItemCount% pagesize(总记录条数除以每页显示记录的余数)个按钮。另一个重要的属性就是datasource(数据源),自定义分页的一个重要的特点是显示数据源中所有的记录,如果数据源中有一条记录,则显示一条记录;如果数据源中有一万条记录,则它会显示一万条记录,可能你的机子就慢了 : )。所以自定义最重要的一点是如何设置或获取数据源了。
    接下来,我们先说说自定义分页的主要步骤:
    1. 设置datagrid的VirtualItemCount属性;
    2. 获取datagrid的datasource(数据源);
    3. 绑定数据到datagrid;
    4. 设置新页的页码(datagrid.currentpageindex属性)
      

  4.   

    外加这个问题一个网站的首页生成静态页后,在添加新闻时必须从新生成静态页,但是从新生成肯定是将原来的页面替换掉,但是如果这样的话要是有人正在访问该页怎么处理,比如像tom shou 163每时每刻都有人访问。
      

  5.   

    把数据存入数据库时,生成静态页面。好处:一、存入数据库是为了方便查询二、生成静态页面是为了加快浏览速度,适当减轻服务器负担。缺点:需要占用数据库和WEB两种空间,增加资金投入。适用环境:小型WEB站点,只存入数据库即可;大型站点可以考虑这种方式。关于静态首页的生成方法:我是把某几块新闻生成一个静态页面,在首页中用iframe调用。参见:www.jxsoufun.cn。以前没有使用iframe,首页有2000多行,现在只有135行,速度加快了至少两倍(须采用xhtml1.0+css2.0)。
      

  6.   


    大家继续,这是每一个WEB程序员都希望有结果的话题
      

  7.   

    1、新闻页生成后将路径等相关信息写入数据库,列表用动态页读取数据库相关内容;
    2、同 meizz(梅花雪)
    3、如果新闻页只需要生成好之后就不去管它了,那么不用写入数据库;如果需要维护和修改新闻页,那么还是写入数据库的好,便于修改(这里是指用系统后台修改,当然你页可以考虑直接修改静态新闻页。
      

  8.   

    关键是生成静态如何分页,还有一个网站的首页生成静态页后,在添加新闻时必须从新生成静态页,但是从新生成肯定是将原来的页面替换掉,但是如果这样的话要是有人正在访问该页怎么处理,比如像tom shou 163每时每刻都有人访问。
      

  9.   

    楼主的意思是这样吧
    你静态分页的做法,可以两种
    一种是按你自己输入分页符号,然后程序读取你的内容时候,自动截断,然后每段生成静态页面,页面ID可以在原ID的基础上_ID(递增),
    一种是设定每页字数多少,然后下同
      

  10.   

    呵呵 可以看我的新闻发布系统  www.xunt.net
    我的分页方法:
    在后台预先定义每页的新闻数量 如定义为:20条新闻
    当前有110条新闻,则1--20条新闻的页码为1  21-40条页码为2 
    101-110条页码为6  这页码写在每条新闻的信息里如果日后你发现第56条新闻有错。你需要修改,则系统只修改页码为3的分页。其它页码不动(可以节省资源)至于页码排序我还没想到好办法。现在只是采用上一页 下一页的办法
    如上面的110条新闻。。1页的新闻最旧,6页的新闻最新。。
    6 5 4 3 2 1  也就是这种排序办法  而不是传统的 1 2 3 4 5 6 另外所有的信息我都保存在数据库里,方便管理或重新生成新闻
      

  11.   

    我的程序暂时只是ASP写的。正在写asp.net的版本
      

  12.   

    一:生成静态页面后如何处理分页,比如一个论坛回帖可以做成静态页的,而且不用分页,就像这个网页一样。
    列表也还是动态的好,用静态页太麻烦了,恐怕修改静态页要更消耗资源。二:一个网站的首页生成静态页后,在添加新闻时必须从新生成静态页,但是从新生成肯定是将原来的页面替换掉,但是如果这样的话要是有人正在访问该页怎么处理,比如像tom shou 163每时每刻都有人访问。这个是很快的不用担心,而且.net(应该是IIS吧)在这方面处理得很好。(IIS6.0我试过了IIS5.0我没有试过)三:比如一个新闻发布系统,是在数据库里只保存新闻标题与静态页的文件名,还是将所有的数据都保存在数据库里,如果只保存静态页的标题与文件名,如何修改数据。当然是要放在数据库里了,不要怕浪费,除非你相累死你自己。或则是被别人骂事。
    四:先就想到这么多,还望其他的兄弟接着提出问题。大家一起讨论呵呵支持
      

  13.   

    极限架构优化无止境:1,生成静态叶面完全可以通过SQL自己完成,可以把工作分布在多个不同SQL服务器上。
           比如按照论坛的板块。SQL生成文件技术:
                http://blog.csdn.net/zjcxc
    去瞧瞧邹建的小女儿,顺便可以听到好听的音乐。2,难在SQL往别的机器上拷贝文件权限不好设置,要求两个机器相同登陆账号。
    http://community.csdn.net/Expert/topic/3695/3695106.xml?temp=.7954676为了更方便管理策略,所以建议:3,用.net做一个管理员专用的可用ASPX远程控制的Winform的exe程序,根据不同板块更新的时间频率,定时从SQL服务器上把文件拷贝到网站服务器上来比较好。