av人人干_女狠狠噜天天噜日日噜_国产精品一区二区免费_亚洲国语自产一区第二页_免费av观看_已婚少妇露脸日出白浆_国产精品探花视频_久久国产精品2020免费_国产精品好好热av在线观看_亚洲另类春色校园小说

網站建設知識

我們將想法與焦點與您一起共享

當前位置:深圳網站建設 > 網站建設知識> .net快速生成靜態網頁的方法二

.net快速生成靜態網頁的方法二

2015/1/31 10:52:00 獨占網絡 網站建設知識
我們.net快速生成靜態網頁的方法一里面講到 CreateIncludeHtml,我們現在就寫這個解析方法
        /// <summary>
        /// 這是一個把包含其它網頁模板的信息替換成一個模板
        /// </summary>
        /// <param name="html">替換前的文件</param>
        /// <returns>這是替換后的文件</returns>
        public static string CreateIncludeHtml(string html)
        {
            //得到包含的模板文件的路徑的標簽信息
            string fileinfo = string.Empty;
            //得到包含的模板文件的路徑
            string zdinfo = string.Empty;

            //解析標簽的模板
            Regex reg = new Regex("(<!--include file=\"(?<zd>[\\s\\S]*?)\" -->)");

            //判斷是否存我們的需要的信息
            if (reg.IsMatch(html))
            {
                //循環得我們的需要的信息
                foreach (Match m in reg.Matches(html))
                {
                    //得到標簽解析前的信息
                    fileinfo = m.Groups[0].Value.ToString();
                    //得到解析標簽的路徑
                    zdinfo = m.Groups["zd"].ToString();

                    //判斷信息是否存在
                    if (!string.IsNullOrEmpty(fileinfo) && !string.IsNullOrEmpty(zdinfo) && zdinfo.IndexOf(".html") > 0)
                    {
                        //替換我們的標簽信息
                        html = html.Replace(fileinfo, CreateFile.CreateSingleFile("/Templates/" + zdinfo));

                    }

                }
            }
            //返回參數
            return html;

}
我們這里已經還記得我們上面的模板里面還有兩個解析標簽,所以我們要將上面的createDefault改為
public void createDefault(string htmlpath, string filename)
        {
            //將我們剛才寫的duzhan.html文件路徑寫進去然后讀取到信息
            string html = CreateFile.CreateSingleFile(htmlpath);

             //如果讀取的信息沒有讀取到信息我們就返回回去。
            if (string.IsNullOrEmpty(html))
            {

                return;
            }
            
            //解析我們的標簽,這個方法我們在下面定義。
            html=CreateIncludeHtml(html);
 
            //解析基本標簽
            html = CreateTemplates.CreateListHtml(html);
 
            //解析if標簽
            html = CreateTemplates.ReplaceIfTag(html);
             
            //生成文件
            new CreateFile().CreateWriteFile(filename, html);

}

那么我們下面的就先來寫一個解析循環標簽的方法
public static string CreateListHtml(string html)
        {
            //得到網頁信息
            string contentHtml = html;
            //表格名
            string table = string.Empty;
            //參數編號名
            string typeid = string.Empty;
            //得到包含的模板文件的路徑的標簽信息
            string taginfo = string.Empty;
            //得到包含的模板文件的路徑
            string zdinfo = string.Empty;
            //查詢的條數
            string num = string.Empty;
            //查詢的條件 
            string where = string.Empty;
            //查詢的排列順序
            string order = string.Empty;
            //解析標簽的模板
            Regex reg = new Regex("(<!--list(\\s)(?<ListSet>[^(\\-\\-)]*)--\\>(?<zd>[\\s\\S]*?)\\<!--/list-->)");

            //判斷是否存我們的需要的信息
            if (reg.IsMatch(html))
            {
                //循環得我們的需要的信息
                foreach (Match m in reg.Matches(html))
                {

                    table = GetTagVal(m.Groups["ListSet"].ToString(), "table");
                    typeid = GetTagVal(m.Groups["ListSet"].ToString(), "typeid");
                    num = GetTagVal(m.Groups["ListSet"].ToString(), "num");
                    order = GetTagVal(m.Groups["ListSet"].ToString(), "order");
                    where = GetTagVal(m.Groups["ListSet"].ToString(), "where");
                    
                    //這是我們標簽里面的詳細信息
                    zdinfo = m.Groups["zd"].ToString();
                    //List標簽內容,這個是用于替換的老標簽信息
                    taginfo = m.Groups[0].Value.ToString();
                    //這是是一個轉型大家自己定義一個就可以了
                    int listnum = Convert.ToInt32(num);

                    int showtypeid = Convert.ToInt32(typeid);

                    string strsql = " 1=1 ";
 
                    //這是需要大家自定義方法去操作數據庫的信息,將信息替換就可以了
                    html = html.Replace(taginfo, replaceListHmtl(zdinfo, table, listnum, strsql, order, letter));


                }
            }


            return html;

        }

               后我們來寫替換標簽。
             public static string ReplaceIfTag(string tempHtml)
             {
            string contentHtml = tempHtml;
            Regex reg = new Regex(@"(<!--if (?<IfSet>[\s\S.]+?) --\>(?<text>[\s\S.]*?)\<!--/if-->)");

            if (reg.IsMatch(tempHtml))
            {
                foreach (Match m in reg.Matches(tempHtml))
                {
                    //所有的信息
                    string alltext = m.Groups[0].Value.ToString();
                    //前面的標簽
                    string testbase = GetTagVal(m.Groups["IfSet"].ToString(), "testbase");
                    //后面標簽的內容
                    string testvalue = GetTagVal(m.Groups["IfSet"].ToString(), "testvalue");
                    //判斷的方式
                    string testmodel = GetTagVal(m.Groups["IfSet"].ToString(), "testmodel");
                    //得到內容
                    string text = m.Groups["text"].ToString();

                    string vtruestr = "";
                    string vfalsestr = "";
                    if (text.Contains("<!--else-->"))
                    {
                        string[] textarr = System.Text.RegularExpressions.Regex.Split(text, "<!--else-->");
                        if (textarr.Length > 0)
                        {
                            vtruestr = textarr[0];
                            vfalsestr = textarr[1];
                        }
                    }
                    else
                    {
                        vtruestr = text;
                        vfalsestr = "";
                    }
                    bool vbool = false;
                    if (testmodel.Equals("%"))
                    {
                        if (Convert.ToInt32(testbase) % Convert.ToInt32(testvalue) == 0)
                        {
                            vbool = true;
                        }
                    }
                    else if (testmodel.Equals("="))
                    {
                        if (testbase.Equals(testvalue))
                        {
                            vbool = true;
                        }
                    }
                    else if (testmodel.Equals("!="))
                    {
                        if (testbase.Trim().Equals(testvalue.Trim()))
                        {
                            vbool = true;
                        }
                    }
                    else if (testmodel.Equals(">"))
                    {
                        if (Convert.ToInt32(testbase) > Convert.ToInt32(testvalue))
                        {
                            vbool = true;
                        }
                    }
                    else if (testmodel.Equals("<"))
                    {
                        if (Convert.ToInt32(testbase) < Convert.ToInt32(testvalue))
                        {
                            vbool = true;
                        }
                    }

                    string resut = "";
                    if (vbool)
                    {
                        resut = vtruestr;
                    }
                    else
                    {
                        resut = vfalsestr;
                    }
                    contentHtml = contentHtml.Replace(alltext, resut);
                }
            }
            return contentHtml;
        }
這樣我們就將生成靜態網頁的方法寫好,如果有不懂,請聯系獨占網絡的技術人員 http://www.ykfic.cn

始終專注高端網站建設服務 網站建設案例服務方案聯系

聯系我們

135-3000-5572
151-1257-9390

地址:深圳市龍崗區橫崗街道力嘉創意文化產業園338

郵箱:chenmh@sz886.com

我們的優勢

12年建站服務經驗自主開發后臺CMS開發項目不外包無隱形收費

服務198家上市企業服務行業龍頭超過70家 營銷型網站建設完備的項目流程管理體系網頁設計與網站開發技術并重

關于獨占網絡

十多年來,憑借對設計的深刻理解,對互聯網營銷趨勢的敏銳洞察,獨占網絡不斷修正服務導向,完善創作品格,始終注重專業探索,為所有合作企業機構全力以赴,確保網站的視覺體驗與營銷轉化能力。

我們是一群對互聯網抱有執著信念的技術控。從2012年到現在,公司從未建過強大的營銷團隊,卻憑著作品與服務不斷保持增長,做到了"桃李不言,下自成蹊。" 我們堅信:每個客戶都是一條渠道,每個案例都是一個廣告,為企業插上翅膀,助力企業轉型升級,我們已做好準備。

專業團隊為您提供深圳網站建設、深圳網站制作、深圳營銷型網站建設、外貿網站建設等服務,深圳建網站就找獨占網絡 | 12年專注網站建設

深圳市獨占網絡科技有限公司 |備案號:粵ICP備15007128| Copyright 2025,ALL Rights Reserved www.ykfic.cn | Copyright 2025版權所有
Hi,Are you ready? 如果您有意向
請于我們取得聯系。

有一個互聯網項目想和我們談談嗎?
您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯系。當然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

獨占-整合互聯網營銷

地址:深圳市龍崗區橫崗地鐵A出口力嘉創意文化產業園338
大客戶專線:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我們為您提供什么服務?
主站蜘蛛池模板: 寻甸| 闻喜县| 于田县| 鸡泽县| 博兴县| 军事| 太白县| 武冈市| 高阳县| 宣威市| 玉田县| 上饶市| 隆昌县| 格尔木市| 东宁县| 隆尧县| 镇沅| 昆明市| 深圳市| 乐业县| 阜阳市| 保亭| 高唐县| 武义县| 洪洞县| 景泰县| 澄迈县| 焉耆| 泰来县| 宜川县| 通许县| 深圳市| 灵川县| 阜康市| 黄平县| 双峰县| 图片| 洞头县| 会同县| 鹤庆县| 内丘县|