分页我一般还是用动态分页,然后重写url为.htm

解决方案 »

  1.   

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

  2.   


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

  3.   


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

  4.   

    语言实在不懂怎么说,直接给个以前自己写的代码吧,这种其实,比较喜欢用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>&nbsp;";
                    }
                    else
                    {
                        pageStr += "<a href=\""+listCalss+""+ i.ToString() + ".html\" style=\"color:Gray\">[ " + i + " ]</a>&nbsp;";
                    }
                    ////如果大于最大的页数则跳出
                    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>&nbsp;";
                }            //上一页的判断
                if (CurrentArry <= 1)
                {
                    pageUP = "";
                }
                else
                {
                    pageUP = "<a href=\""+listCalss+""+((CurrentArry - 1)*5 - 4)+ ".html\" style=\"color:red\">上一页</a>&nbsp;";
                }
                string allcaseList = "共[" + allRows + "]条信息" + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;共 " + allPage + "页" + "&nbsp;&nbsp;&nbsp;当前第[" + 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 = "";
                        }。







    下面的代码就不贴了,主要的就在这里
      

  5.   

    分页我一般还是用动态分页,然后重写url为.htm