Asp.Net生成静态页面的实现方法
Asp.Net生成静态页面的实现方法
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:usingSystem;usingSystem.Data;usingSystem.Configuration;usingS...

复制代码 代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using Mysqlserver;//数据库操作类

using System.IO;

using System.Text;

namespace NewsAdd

{

public partial class Admin_AdminPanel_NewsAdd : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

string strTitle=Request.Form["Title"].ToString();

string strContent=Request.Form["Content"].ToString();

SqlServerDataBase db = new SqlServerDataBase();

bool success = db.Insert("insert into inNews(Title,Content)values('" + strTitle + "','" + strContent + "')", null);

//if (success)

// Message.Text = "添加成功!";

/**////////////////////////////创建当前日期的文件夹开始

string dir = Server.MapPath("../../"+"NewsFiles/"+DateTime.Now.ToString("yyMMdd"));

if (!Directory.Exists(dir))

{

Directory.CreateDirectory(dir);

}

/**////////////////////////////创建当前日期的文件夹结束

string[] newContent = new string[5];//定义和html标记数目一致的数组

StringBuilder strhtml = new StringBuilder();

try

{

//创建StreamReader对象

using (StreamReader sr = new StreamReader(Server.MapPath("../../" + "NewsFiles/") + "/template.html"))

{

String oneline;

//读取指定的HTML文件模板

while ((oneline = sr.ReadLine()) != null)

{

strhtml.Append(oneline);

}

sr.Close();

}

}

catch (Exception err)

{

//输出异常信息

Response.Write(err.ToString());

}

//为标记数组赋值

newContent[0] = strTitle;//标题

newContent[1] = "BackColor='#cccfff'";//背景色

newContent[2] = "#ff0000";//字体颜色

newContent[3] = "100px";//字体大小

newContent[4] = strContent;//主要内容

//根据上面新的内容生成html文件

try

{

//指定要生成的HTML文件

string fname = Server.MapPath("../../" + "NewsFiles/" + DateTime.Now.ToString("yyMMdd")) + "/" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";

//替换html模版文件里的标记为新的内容

for (int i = 0; i < 5; i++)

{

strhtml.Replace("$htmlkey[" + i + "]", newContent[i]);

}

//创建文件信息对象

FileInfo finfo = new FileInfo(fname);

//以打开或者写入的形式创建文件流

using (FileStream fs = finfo.OpenWrite())

{

//根据上面创建的文件流创建写数据流

StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));

//把新的内容写到创建的HTML页面中

sw.WriteLine(strhtml);

sw.Flush();

sw.Close();

}

}

catch (Exception err)

{

Response.Write(err.ToString());

}

}

}

}

template.html 代码

复制代码 代码如下:

<html>

<head>

<title>$htmlkey[0]</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body >

<table $htmlkey[1] height="100%" border="0" width="100%" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" mce_style="border:1px solid #000000">

<tr>

<td width="100%" valign="middle" align="left">

<span mce_style="color: $htmlkey[2];font-size: $htmlkey[3]">$htmlkey[4]</span>

</td>

</tr>

</table>

</body>

</html>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类