首页 > 编程 > .NET > 正文

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); 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表