欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET動態(tài)生成靜態(tài)頁面的實例代碼

 更新時間:2013年07月26日 11:00:42   作者:  
生成靜態(tài)頁有很多好處,可以緩解服務(wù)器壓力、方便搜索網(wǎng)站搜索等等,下面介紹一下生成靜態(tài)頁的實例代碼,有需要的朋友可以參考一下
最近突然想把項目中新聞管理模塊做成靜態(tài)頁,在網(wǎng)上找到很多很好的文章,在這里記錄一下,現(xiàn)在只是實現(xiàn)靜態(tài)頁面的生成并沒有實現(xiàn)分頁功能。其主要原理就是讀取數(shù)據(jù)庫的數(shù)據(jù)然后替換掉靜態(tài)模板頁的內(nèi)容。
首先制作一個模板頁,暫時命名為template.htm,示例代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <div>
        $content$
    </div>
</body>
</html>
然后制作制作一個動態(tài)頁面,在這里我們通過一個按鈕點擊事件來生成靜態(tài)頁面。
前臺頁面主要代碼(Default.aspx):
復(fù)制代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
        <asp:TextBox ID="txtContent" runat="server" Height="179px" TextMode="MultiLine" Width="350px"></asp:TextBox><br /> 
        <br /> 
        <asp:Button ID="btnMake" runat="server" OnClick="btnMake_Click" Text="生成靜態(tài)頁" /> 
    </div> 
    </form> 
</body> 
</html> 

后臺頁面主要代碼(Default.aspx.cs):
復(fù)制代碼 代碼如下:

protected void btnMake_Click(object sender, EventArgs e) 
    { 
        //替換掉模板中的特征字符    
        string mbPath = Server.MapPath("template.htm"); 
        Encoding code = Encoding.GetEncoding("UTF-8"); 
        StreamReader sr = null; 
        StreamWriter sw = null; 
        string str = null; 
        //讀取    
        try 
        { 
            sr = new StreamReader(mbPath, code); 
            str = sr.ReadToEnd(); 
        } 
        catch (Exception ex) 
        { 
            throw ex; 
        } 
        finally 
        { 
            sr.Close(); 
        } 
        //根據(jù)時間自動重命名,擴(kuò)展名也可以自行修改    
        string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".htm"; 
        str = str.Replace("$content$", txtContent.Text);//替換content   
        //生成靜態(tài)文件    
        try 
        { 
            sw = new StreamWriter(Server.MapPath("~/") + fileName, false, code); 
            sw.Write(str); 
            sw.Flush(); 
        } 
        catch (Exception ex) 
        { 
            throw ex; 
        } 
        finally 
        { 
            sw.Close(); 
            Response.Write("<a href=" + fileName + " mce_href=" + fileName + " target=_blank>" + fileName + "</a>已經(jīng)生成!"); 
        } 
    } 

當(dāng)新聞量很大時這樣做勢必會增加服務(wù)器的存儲壓力,暫時記錄下來等畢業(yè)設(shè)計時再考慮增加動態(tài)生成靜態(tài)頁面,靜態(tài)頁面分頁的功能。

相關(guān)文章

最新評論