国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

asp.net網(wǎng)站靜態(tài)化

2019-11-17 04:00:46
字體:
供稿:網(wǎng)友
最近要做網(wǎng)站靜態(tài)化,自己寫了幾個方法,貼出來和大家討論討論。

/// <summary>
    /// 網(wǎng)站靜態(tài)化功能類
    /// </summary>
    public class CreateHtml
    {
        /// <summary>
        /// 讀取模板內(nèi)容
        /// </summary>
        /// <param name="template">模板相對路徑</param>
        /// <returns>模板內(nèi)容,讀取失敗返回""</returns>
        public string Html_ReadTemplate(string template)
        {
            #region
            StringBuilder str = new StringBuilder();//存放模式內(nèi)容
            if (template != null && template != "" && template.Length > 0)//如果
            {
                try
                {
                    using (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(template), Encoding.GetEncoding("utf-8")))
                    {
                        string tempStr;
                        while ((tempStr = sr.ReadLine()) != null)//如果沒有讀取文件末尾
                        {
                            str.Append(tempStr);
                        }
                        sr.Close();
                    }
                }
                catch (Exception ex)
                {
                    return null;                    
                }
            }
            return str.ToString();
            #endregion
        }
        /// <summary>
        /// 根據(jù)生成文件絕對路徑、生成文件名生成文件
        /// </summary>
        /// <param name="fileAbsolutePath">文件絕對路徑</param>
        /// <param name="htmlName">生成文件名</param>
        /// <param name="htmlNote">寫入文件內(nèi)容</param>
        /// <returns>生成文件狀態(tài),1:成功 0:失敗</returns>
        public int Html_WriteTemplate(string fileAbsolutePath, string htmlName,string htmlNote)
        {
            #region
            if (fileAbsolutePath != null && fileAbsolutePath != "" && fileAbsolutePath.Length > 0 && htmlName != null && htmlName != "" && htmlName.Length > 0)
            {
                try
                {
                    using (FileStream fs = new FileStream(fileAbsolutePath + "//" + htmlName, FileMode.Create, Fileaccess.Write, FileShare.Write))
                    {
                        StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));
                        sw.Write(htmlNote);
                        sw.Close();
                        fs.Close();
                        return 1;//文件生成成功
                    }
                }
                catch (Exception ex)
                {
                    return 0;
                }
            }
            return 0;//文件生成失敗
            #endregion
        }
        /// <summary>
        /// 根據(jù)讀取到所有內(nèi)容進行分頁讀取,每頁與每頁用“|”分割
        /// </summary>
        /// <param name="contentText">內(nèi)容</param>
        /// <param name="pageLogo">分頁標志</param>
        /// <returns>內(nèi)容分頁后字符串,每頁與每頁用“|”分割</returns>
        public string Html_BackPageData(string contentText,string pageLogo)
        {
            #region
            int tempcount = 0;
            StringBuilder sb = new StringBuilder();
            while (tempcount >= 0)
            {
                int index = contentText.IndexOf(pageLogo);//分頁標志
                if (index == -1)//如果沒有分頁了
                {
                    sb.Append(contentText);
                    break;
                }
                else
                {
                    sb.Append(contentText.Substring(0,index)+"|");
                    int start = index + pageLogo.Length + 1;
                    int end = contentText.Length-index-pageLogo.Length - 1;
                    contentText=contentText.Substring(start, end);
                }
                tempcount++;
            }
            return sb.ToString();
            #endregion
        }
        /// <summary>
        /// 針對內(nèi)容生成相應的分頁標志,首頁、上一頁、頁碼、下一頁、尾頁(針對一條內(nèi)容)
        /// </summary>
        /// <param name="currPageIndex">當前頁索引</param>
        /// <param name="pageCount">總頁數(shù)</param>
        /// <param name="noteName">文件名(只跟文件名不跟后綴名)</param>
        /// <returns>根據(jù)內(nèi)容生成的相應分頁標志</returns>
        public string Html_Pager_Sign(int currPageIndex, int pageCount, string noteName)
        {
            #region
            string allSePRNote = "<table><tr><td>&nbsp;&nbsp;&nbsp;$firstpage$</td><td>&nbsp;&nbsp;$uppage$</td><td>&nbsp;$pagenumber$</td><td>&nbsp;&nbsp;$drownpage$</td><td>&nbsp;&nbsp;$lastpage$</td></tr></table>";
            string seprTempStr = "";
            for (int i = 1; i <= pageCount; i++)//循環(huán)生成每頁頁碼(本循環(huán)只生成頁碼)
            {
                int n = i - 1;
                //如果是第一頁
                if (i == 1)
                {
                    seprTempStr += "<a href='" + noteName + ".html'>" + i+"&nbsp;"+ "</a>";
                }
                else
                {
                    seprTempStr += "<a href='" + noteName +"-"+n+ ".html'>" + i+"&nbsp;" + "</a>";
                }
            }
            allSeprNote = allSeprNote.Replace("$pagenumber$", seprTempStr);//替換頁碼
            //生成首頁、上一頁
            if (currPageIndex == 0)//如果當前頁為第一頁,則就沒有上一頁,和首頁的鏈接
            {
                allSeprNote = allSeprNote.Replace("$firstpage$", "首頁");//替換首頁
                allSeprNote = allSeprNote.Replace("$uppage$", "上一頁");//替換上一頁
            }
            else if (currPageIndex == 1)//如果當前頁是第二頁,就有上一頁和首頁鏈接,并且上一頁與首頁鏈接是一樣的,也就是功能一樣
            {
                allSeprNote = allSeprNote.Replace("$firstpage$", "<a href='" + noteName + ".html'>首頁</a>");//替換首頁,有鏈接
                allSeprNote = allSeprNote.Replace("$uppage$", "<a href='" + noteName + ".html'>上一頁</a>");//替換上一頁,因為是第二頁所以鏈接與首頁相同
            }
            else//如果是其他頁
            {
                int temppageindex = currPageIndex - 1;//上一頁頁碼
                allSeprNote = allSeprNote.Replace("$firstpage$", "<a href='" + noteName + ".html'>首頁</a>");//替換首頁
                allSeprNote = allSeprNote.Replace("$uppage$", "<a href='" + noteName +"-"+temppageindex+ ".html'>上一頁</a>");//替換上一頁
            }
            //生成尾頁、下一頁
            if (currPageIndex == pageCount - 1)//如果當前頁為最后一頁,則下一頁與尾頁功能相同,而且都無鏈接
            {
                allSeprNote = allSeprNote.Replace("$lastpage$", "尾頁");//替換尾頁
                allSeprNote = allSeprNote.Replace("$drownpage$", "下一頁");//替換下一頁
            }
            else//如果是其他頁
            {
                int temppageindex = currPageIndex+1;//下一頁頁碼
                allSeprNote=allSeprNote.Replace("$lastpage$", "<a href='" + noteName + "-" + (pageCount - 1) + ".html'>尾頁</a>");//生成尾頁
                allSeprNote=allSeprNote.Replace("$drownpage$", "<a href='" + noteName + "-" + temppageindex + ".html'>下一頁</a>");
            }
            return allSeprNote;
            #endregion
        }
        /// <summary>
        /// 針對列表頁生成分頁標志
        /// </summary>
        /// <param name="pageTotal">總頁數(shù)</param>
        /// <param name="currentPage">當前頁索引(從零開始)</param>
        /// <param name="pageSize">每頁顯示內(nèi)容條數(shù)</param>
        /// <param name="name">文件名(不帶后綴)</param>
        /// <returns>分頁標志</returns>
        public string Html_Pager_Multi(int pageTotal, int currentPage, int pageSize, string name,string path)
        {
            #region
            pageTotal = pageTotal - 1;
            StringBuilder sb = new StringBuilder();
            //生成首頁、上一頁鏈接
            if (currentPage == 0)//如果當前頁是第一頁
            {
                sb.Append("&nbsp;&nbsp;首頁&nbsp;&nbsp;上一頁&nbsp;&nbsp;");
            }
            else if (currentPage == 1)//如果當前頁是第二頁
            {
                sb.Append("&nbsp;&nbsp;<a href='" + name + ".html" + "'>首頁</a>");
                sb.Append("&nbsp;&nbsp;<a href='" + name + ".html" + "'>上一頁</a>&nbsp;&nbsp;");
            }
            else
            {
                sb.Append("&nbsp;&nbsp;<a href='" + name + ".html" + "'>首頁</a>");
                sb.Append("&nbsp;&nbsp;<a href='" + name + "-" + (currentPage - 1) + ".html'>上一頁</a>&nbsp;&nbsp;");
            }
            int indexStart = currentPage - 5;
            int indexEnd = currentPage + 5;
            if (indexStart <= 0)
            {
                indexStart = 0;
                indexEnd = 10;
            }
            if (indexStart > 0)
            {
                indexStart = currentPage - 5;
                indexEnd = currentPage + 5;
            }
            if (currentPage >= pageTotal-10)
            {
                indexStart = pageTotal - 10;
                indexEnd = pageTotal;
            }
            //生成詳細頁碼
            for (int i = indexStart; i <= indexEnd; i++)
            {

                if (i == currentPage)
                {
                    sb.Append("&nbsp;" + (i+1) + "&nbsp;");
                }
                else if (i == 0)//如果當前頁是第二頁,需要單獨處理一下
                {
                    sb.Append("&nbsp;<a href='" + name + ".html'>" + (i + 1) + "</a>&nbsp;");
                }
                else
                {
                    sb.Append("&nbsp;<a href='" + name + "-" + i + ".html'>" + (i + 1) + "</a>&nbsp;");
                }
            }
            //生成下一頁、尾頁
            if (currentPage == pageTotal)//如果當前頁是最后一頁
            {
                sb.Append("&nbsp;&nbsp;下一頁&nbsp;&nbsp;");
                sb.Append("&nbsp;&nbsp;尾頁&nbsp;&nbsp;");
            }
            else
            {
                sb.Append("&nbsp;&nbsp;<a href='"+name+"-"+(currentPage+1)+".html'>下一頁</a>&nbsp;&nbsp;");
                sb.Append("&nbsp;&nbsp;<a href='"+name+"-"+pageTotal+".html'>尾頁</a>");
            }
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;" + (currentPage + 1) + "/" + (pageTotal + 1));
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;轉(zhuǎn)到:<select name=/"QQ/" id=/"ddlIndexList/" onchange=/"javascript:location.href=this.value;/">");
            string absolutePaths = HttpContext.Current.Request.Url.ToString();//獲取url
            absolutePaths = absolutePaths.Substring(0, absolutePaths.LastIndexOf("/"))+"//" + path;//獲取網(wǎng)站根路徑url
            for (int j = 1; j <= (pageTotal+1); j++)
            {
                if (j == 1)
                {
                    sb.Append("<option value='" + absolutePaths+"//"+name + ".html'>" + j + "</option>");
                }
                else
                {
                    sb.Append("<option value='" + absolutePaths+"//"+name + "-" + (j - 1) + ".html'>" + j + "</option>");
                }
            }
            sb.Append("</select>");
            sb.Append("<script type=/"text/Javascript/" language=/"javascript/">");
            if (currentPage == 0)//第一頁
            {
                string d = "document.getElementById(/"ddlIndexList/").value = /"" + name + ".html/";";
                sb.Append("document.getElementById(/"ddlIndexList/").value = /""+name+".html/";");
            }
            else
            {
                string k = " document.getElementById(/"ddlIndexList/").value = /"" + name + "-" + currentPage + ".html/";";
                sb.Append(" document.getElementById(/"ddlIndexList/").value = /"" + name+"-"+currentPage + ".html/";");
            }
            sb.Append("</script>");
            return sb.ToString();
            #endregion
        }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三江| 彝良县| 四平市| 巴东县| 镇赉县| 芜湖县| 包头市| 夏河县| 常德市| 福贡县| 泌阳县| 利辛县| 庆元县| 黑河市| 株洲市| 白玉县| 仙居县| 玉田县| 留坝县| 望江县| 特克斯县| 邛崃市| 青阳县| 西林县| 静宁县| 繁昌县| 衡南县| 仲巴县| 东宁县| 抚州市| 上犹县| 北流市| 安顺市| 博白县| 牡丹江市| 渭南市| 新疆| 登封市| 应用必备| 襄樊市| 襄城县|