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

asp.net做个批量生成html的网站,生成静态页图片翻页怎么做啊?index_1.html,index_2.html 这样子 上一页1 2 3 4 5下一页

asp.net做个批量生成html的网站,生成静态页图片翻页怎么做啊
index_1.html,index_2.html 这样子 
上一页1 2 3 4 5下一页
或者
上一页  下拉列表(可以选择页)   下一页

各们大哥怎么实现??
是个图片站index_1.html,index_2.html,index_3.html,index_4.html每个页不同的图片。
请教... --------------------编程问答-------------------- 分页我一般还是用动态分页,然后重写url为.htm --------------------编程问答-------------------- 分页在生成时就应该把相应的页面链接写进去阿;
分页其实比较难以实现的功能是在数据量巨大的情况下,添加一条数据就要生成大量的页面对服务器造成负担;
比如:我有10万条数据,每页显示10条,一共有1w个静态页面,我添加一条数据时,会造成需要更新这1万个页面,服务器的负担就可想而知了
我一般采取生成前20(50)页的策略来实现,这个是针对新闻的,图片站并不一定适合; --------------------编程问答-------------------- 楼上说的就是这个道理,所以在大数据量的情况下,没有动态分页来得方便。 --------------------编程问答-------------------- 用动态的话,服务器负载太大了啊,不过我的图片是遍历的,不用连接数据库,这样服务器的负载不会那么大吧?? --------------------编程问答-------------------- 现在国外都在流行一个SideCore软件
 它是基于微软 .NET 平台开发的网站内容管理系统,它集成了内容发布管理、多站点集成、信息采集、搜索引擎优化、全文检索等多项强大功能,能够生成纯静态页面,独创的 STL 模版语言,通过Dreamweaver可视化插件能够轻易编辑模版样式...

功能很强大哦,我现在也在研究。 --------------------编程问答-------------------- 翻页这些都是生成相对应的就可以了 --------------------编程问答--------------------
引用 5 楼 ghj5454 的回复:
现在国外都在流行一个SideCore软件 
它是基于微软 .NET 平台开发的网站内容管理系统,它集成了内容发布管理、多站点集成、信息采集、搜索引擎优化、全文检索等多项强大功能,能够生成纯静态页面,独创的 STL 模版语言,通过Dreamweaver可视化插件能够轻易编辑模版样式... 

功能很强大哦,我现在也在研究。

有没有这软件啊? --------------------编程问答-------------------- 每一页生成一个页面,翻页的时候用超链接 --------------------编程问答-------------------- 建议用动态分页+url重写 --------------------编程问答--------------------
引用 9 楼 zzxap 的回复:
建议用动态分页+url重写


是的,我也顶楼上的!
但,我不知道怎么做“URL重写”!
楼上的能告诉在下吗?!

多谢先! --------------------编程问答--------------------
引用 9 楼 zzxap 的回复:
建议用动态分页+url重写


是的,我也顶楼上的!
但,我不知道怎么做“URL重写”!
楼上的能告诉在下吗?!

多谢先! --------------------编程问答-------------------- 语言实在不懂怎么说,直接给个以前自己写的代码吧,这种其实,比较喜欢用ajax来做,但BOSS又喊SEO啊。。。。。。。。烦


using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
using System.Text;


namespace Web
{
    //信息类型的分类生成HTML
    public class knowListClass
    {
        public knowListClass()
        { 
        
        }

        /// <summary>
        /// 返回案例的翻页字符串,这里四页面为一组
        /// </summary>
        /// <param name="page">当前页的号数</param>
        /// <param name="allPage">总页数</param>
        /// <param name="allRows">信息的类型</param>
        /// <returns></returns>
        private string getPageStr(int page, int allRows,string listCalss)
        {
            //所有页数
            int allPage = allRows % 10 == 0 ? allRows / 10 : allRows / 10 + 1;
            //组数
            int pageGrous = allPage % 5 == 0 ? allPage / 5 : allPage / 5 + 1;
            int CurrentArry;
            string pageUP = "", pageDown = "", pageStr = "";
            if (page % 5 == 0)
            {
                CurrentArry = page / 5;
            }
            else
            {
                CurrentArry = ((page / 5) + 1);
            }
            //循环构成翻页数
            for (int i = (CurrentArry - 1) * 5 + 1; i <= ((CurrentArry - 1) * 5) + 5; i++)
            {
                ///如果是当前页,则设置为红色
                if (i == page)
                {
                    pageStr += "<a href=\""+listCalss+"" +i.ToString ()+ ".html\" style=\"color:red\">[ " + i + " ]</a> ";
                }
                else
                {
                    pageStr += "<a href=\""+listCalss+""+ i.ToString() + ".html\" style=\"color:Gray\">[ " + i + " ]</a> ";
                }
                ////如果大于最大的页数则跳出
                int result = allRows % 10 == 0 ? allRows / 10 : allRows / 10 + 1;
                if (i >= result)
                    break;
            }
            //下一页的判断
            if (CurrentArry >= pageGrous)
            {
                pageDown = "";
            }
            else
            {
                pageDown = "<a href=\""+listCalss+""+(CurrentArry * 5 + 1).ToString () + ".html\" style=\"color:red\">下一页</a> ";
            }

            //上一页的判断
            if (CurrentArry <= 1)
            {
                pageUP = "";
            }
            else
            {
                pageUP = "<a href=\""+listCalss+""+((CurrentArry - 1)*5 - 4)+ ".html\" style=\"color:red\">上一页</a> ";
            }
            string allcaseList = "共[" + allRows + "]条信息" + "       共 " + allPage + "页" + "   当前第[" + CurrentArry + "]页                              ";
            string lastPage = allcaseList + pageUP + pageStr + pageDown;
            return lastPage;
        }
        /// <summary>
        /// 生成
        /// </summary>
        /// <returns></returns>
        public bool caseList( int classId, string listCalss)
        {
            bool last = false;
            BLL.wpf_bll_news bll = new BLL.wpf_bll_news();
            DataSet myset = new DataSet();
            if (bll.newsall(myset, "tableKnowList", classId))
            {
                int htmlId = 1;
                //取出总行数
                int allRows = myset.Tables["tableKnowList"].Rows.Count;
                //如果没有数据,则直接退出
                if (allRows <= 0)
                    return false;
                string pageDate = "";
                for (int i = 0; i <= allRows - 1; i++)
                {
                    string new_title = myset.Tables["tableKnowList"].Rows[i]["new_title"].ToString();
                    string new_ID = myset.Tables["tableKnowList"].Rows[i]["new_ID"].ToString();
                    string conten = CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Length > 250 ? CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Substring(0, 250) + "....." : CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString());
                    pageDate += "<li class=\"zhouyi_select_li\"><div class=\" zhouyi_select_hd\"><h2><a href=\"" + "news" + new_ID.ToString() + ".html\"> " + new_title + "</a></h2></div>"
                    + " <div class=\"fl\">" +conten+ "</div></li> ";   
                    //够一页了,每一页五条数据
                    if ((i + 1) % 10== 0)
                    {
                        string pageStr = getPageStr(htmlId, allRows, listCalss);
                        FileStream tFile = File.Open(System.Web.HttpContext.Current.Server.MapPath("./templateFile/knowListClass.html"), FileMode.Open, FileAccess.Read);
                        StreamReader reader = new StreamReader(tFile, Encoding.GetEncoding("gb2312"));
                        StringBuilder sb = new StringBuilder(reader.ReadToEnd());
                        reader.Close();
                        sb.Replace("{$_pageDataList_$}", pageDate);
                        sb.Replace("{$_page_$}", pageStr);
                        string _class = "";
                        switch (classId.ToString ())
                        { 
                            case "3":
                                _class = "一周之星";
                                break;
                            case "4":
                                _class = "趣味问题";
                                break;
                            case "5":
                                _class = "名词解释";
                                break;
                            case "6":
                               _class="常见问题";
                                break ;
                            default:
                                    _class="技术知识";
                                break ;

                        }
                        sb.Replace("{!_calss_!}", _class);
                        string fileName = listCalss + htmlId + ".html";
                        FileStream rFile = File.Create(System.Web.HttpContext.Current.Server.MapPath("./html") + "/" + fileName);
                        StreamWriter writer = new StreamWriter(rFile, Encoding.GetEncoding("gb2312"));
                        writer.Write(sb.ToString());
                        writer.Flush();
                        writer.Close();
                        htmlId++;
                        pageDate = "";
                        pageStr = "";
                    }









下面的代码就不贴了,主要的就在这里
--------------------编程问答-------------------- ......................几年前的贴子 --------------------编程问答-------------------- 分页我一般还是用动态分页,然后重写url为.htm
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,