http://news.qq.com/newsgn/zhxw/shizhengxinwen.htm这个是腾讯的一个新闻列表,大家可以看到后缀名都是.htm我现在想做这样的一个功能:在前台显示一个文章列表,显示的都是我在后台提交过已经生成的静态页,并且可以分页。比如 
List_1.html 就显示 news_1.html --- news_10 .html 的文章。List_2.html 就显示 news_11.html --- news_20 .html 的文章。以此类推。生成静态页我会,但是这个功能,有点儿没头绪。请高人指点。谢谢。
------------------------------------------------------------------------------------添加一篇文章之后,就把对应的静态页地址也给录入数据库?然后循环显示出来,再生成静态页?如果删除或者修改了一篇文章,是不是所有的列表页都要再重新生成一次???

解决方案 »

  1.   

    就是把你的硬盘上存放静态页面的文件夹遍历一次,得到每个文件的名字,然后就好处理了。
    不过我觉得有个更好的方法,文件的名字统一命名,例如一天一个文件夹,20091116,每个文件夹里的文件有统一的命名规则,例如news_1.htm,news_2.htm....这样只要得到每个文件夹里文件的数量就可以再程序里生成路径了。
      

  2.   

    啊啊啊。。好办法。。不读取数据库的列表,读取文件夹中的列表。。啊啊。。不错不错那假设从news_1.html----news_100都读取出来了,怎么分页呢?还有点击分页呈现下一页的列表。。
      

  3.   


    string url = "http://" + Request.Url.Authority + "/xxx.aspx";
                new System.Net.WebClient().DownloadFile(url, Server.MapPath("~/xxx.html"));
                Response.Redirect("xxx.html");参考
      

  4.   

    遍历指定路径得到 string [] filesName 设置分页数 pageSize  string listPageName="List"遍历 filesName  根据 pageSize  for(int i=0;i<filesName.length;i++)
    {
         
    }
      

  5.   

    //例如你得到20091126这个文件夹里有101个文件,那么就是news_1.htm....news_100.htm
    //假设10条一页,那么就有11页了,也就是:
    int pagecount = 101/10+101%10;//结果是 11
    //下面就是页面的排版问题了,这个只有考你自己了
    for (int i=1;i<=10;i++)
    {
    Response.Write(@"<a href='20091126\news_"+i.ToString()+".htm'>标题</a>");
    }
      

  6.   

    额,这样的://例如你得到20091126这个文件夹里有102个文件,那么就是news_1.htm....news_102.htm
    //假设10条一页,那么就有11页了,也就是:
    int pagecount = 102/10+102%10==0?0:1;//结果是 11
    //下面就是页面的排版问题了,这个只有考你自己了
    for (int i=1;i<=10;i++)
    {
    Response.Write(@"<a href='20091126\news_"+i.ToString()+".htm'>标题</a>");
    }
      

  7.   

    ListPage 是个自定义的类意思是 列表页的实体类两个属性 一个Name 一个content-------------------------------------遍历 filesName  根据 pageSize  
    IList<ListPage> list=new IList<ListPage>();
    ListPage lp=new ListPage();
    int count=1;
    for(int i=0;i <filesName.length;i++) 

        if((i+1)%pageSize==0)
        {
            lp.content+=","+filesName[i];
            lp.name="List"+count.ToString();
            list.Add(lp);
            lp=new ListPage();
        }
        else 
        {
             lp.content+=","+filesName[i];
        }
    }大概思路是这样的,可能具体细节还要修改