ASP.NET動態生成靜態頁面的實例代碼
2024-07-10 12:44:54
供稿:網友
最近突然想把項目中新聞管理模塊做成靜態頁,在網上找到很多很好的文章,在這里記錄一下,現在只是實現靜態頁面的生成并沒有實現分頁功能。其主要原理就是讀取數據庫的數據然后替換掉靜態模板頁的內容。
首先制作一個模板頁,暫時命名為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 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="生成靜態頁" />
</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);