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

首頁 > 編程 > .NET > 正文

ASP.NET動態生成靜態頁面的實例代碼

2024-07-10 13:15:52
字體:
來源:轉載
供稿:網友
最近突然想把項目中新聞管理模塊做成靜態頁,在網上找到很多很好的文章,在這里記錄一下,現在只是實現靜態頁面的生成并沒有實現分頁功能。其主要原理就是讀取數據庫的數據然后替換掉靜態模板頁的內容。
首先制作一個模板頁,暫時命名為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>
然后制作制作一個動態頁面,在這里我們通過一個按鈕點擊事件來生成靜態頁面。
前臺頁面主要代碼(Default.aspx):

復制代碼 代碼如下:


<%@ 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 runat="server"> 
    <div> 
        <asp:TextBox runat="server" TextMode="MultiLine"></asp:TextBox><br /> 
        <br /> 
        <asp:Button runat="server" Text="生成靜態頁" /> 
    </div> 
    </form> 
</body> 
</html> 


后臺頁面主要代碼(Default.aspx.cs):

復制代碼 代碼如下:


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(); 
        } 
        //根據時間自動重命名,擴展名也可以自行修改    
        string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".htm"; 
        str = str.Replace("$content$", txtContent.Text);//替換content   
        //生成靜態文件    
        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>已經生成!"); 
        } 
    } 


當新聞量很大時這樣做勢必會增加服務器的存儲壓力,暫時記錄下來等畢業設計時再考慮增加動態生成靜態頁面,靜態頁面分頁的功能。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永清县| 厦门市| 醴陵市| 高邑县| 建昌县| 射阳县| 泽州县| 原阳县| 米易县| 通道| 玛纳斯县| 塔城市| 盘山县| 南和县| 三原县| 武功县| 牡丹江市| 南江县| 昌乐县| 汾西县| 丰都县| 河东区| 灵璧县| 西贡区| 论坛| 谷城县| 高台县| 沂源县| 晴隆县| 尼木县| 安多县| 芦溪县| 新余市| 苏尼特左旗| 和田市| 淮滨县| 黄陵县| 永寿县| 措勤县| 巫溪县| 巫溪县|