生成静态界面的方法

以下文件在我的环境下,成功了,仅供参考:

 

1.建立模版页:ModelHTML.html

 

内容如下:

 

<!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>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <title>PageTitle</title>
</head>
<body style="text-align: center">
    <table style="width: 700px; height: 601px">
        <tr>
            <td colspan="3" style="height: 106px" bgcolor="#00cc33">
                <span style="font-size: 16pt; color: #3333ff"><strong>广告区</strong></span></td>
        </tr>
        <tr>
            <td bgcolor="#00cc33" style="width: 177px; height: 146px">
            </td>
            <td colspan="2" rowspan="3" style="margin-top: 0px; vertical-align: top; padding-top: 0px">
                <table style="width: 502px">
                    <tr>
                        <td colspan="3" style="height: 55px">
                        </td>
                    </tr>
                    <tr>
                        <td colspan="3" rowspan="2">
                            <strong>
                        ArticleTitle </strong>
                        </td>
                    </tr>
                    <tr>
                    </tr>
                    <tr>
                        <td colspan="3" rowspan="1" style="text-align: left; font-size: 9pt;">
                            &nbsp; &nbsp;
                        ArticleContent
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td bgcolor="#00cc33" style="width: 177px; height: 182px">
            </td>
        </tr>
        <tr>
            <td bgcolor="#00cc33" style="width: 177px; height: 160px">
            </td>
        </tr>
        <tr>
            <td bgcolor="#00cc33" colspan="3" style="height: 100px">
            </td>
        </tr>
    </table>

</body>
</html>

 

2.在后台写一函数:WriteFile(string ArticleTitle, string ArticleContent, string ArticleID)

 

 #region 生成静态页面
    public bool WriteFile(string ArticleTitle, string ArticleContent, string ArticleID)
    {
        string OutPutPath = HttpContext.Current.Server.MapPath("../../newhtml/");//生成存放的文件夹
        Encoding encoding = Encoding.GetEncoding("gb2312"); //编码
        // 读取模板文件
        string ModelTemp = HttpContext.Current.Server.MapPath("ModelHTML.html");  //模版
        StreamReader sr = null;
        StreamWriter sw = null;
        string str = "";
        try
        {
            sr = new StreamReader(ModelTemp, encoding);
            str = sr.ReadToEnd(); // 读取文件
        }
        catch (Exception exp)
        {
            HttpContext.Current.Response.Write(exp.Message);  //出错信息
            HttpContext.Current.Response.End();
            sr.Close();
        }


        string HtmlFilename = ArticleID + ".html"; //生成文件的文件名
        //string HtmlFilename = DateTime.Now.ToString("yyyyMMddHHmmss_") + ArticleID + ".html";
        // 替换内容
        str = str.Replace("PageTitle", ArticleTitle); //模板页中的PageTitle

        str = str.Replace("ArticleTitle", ArticleTitle);

 

        str = str.Replace("ArticleContent", ArticleContent);

        // 写文件
        try
        {
            sw = new StreamWriter(OutPutPath + HtmlFilename, false, encoding);  //输出
            sw.Write(str);
            sw.Flush();
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write(ex.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            sw.Close();
        }
        return true;
    }
    #endregion

 

3.调用:

 

string Nid = e.CommandArgument.ToString();
            string sqlstr = "select NTitle,Ntitle2,NContent,NPublisher,NPubTime,NFrom from TNews where Nid =" + e.CommandArgument.ToString();   //读取数据,根据你的环境,修改一下.
            Config db = new Config();  //连接数据库.

            SqlDataReader dr = db.GetDataReader(sqlstr);

            dr.Read();

            if (dr.HasRows)
            {

                WriteFile(dr["NTitle"].ToString(), dr["NContent"].ToString(), Nid.ToString());   //传值
                
                Response.Write("<script>alert('静态页生成成功!');location='NewsList.aspx'</script>");
            }

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值