asp.net生成静态页面入门例子

发布时间:2020-07-13编辑:脚本学堂
有关asp.net生成静态页面的方法与例子,asp.net生成静态页面的实现方法,附静态页面生成代码与简单模板,感兴趣的朋友参考下。

asp.net生成静态页面入门实例

1、asp.net生成静态页面的代码。
 

复制代码 代码示例:

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());
     }
 }
}
}

2、模板页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" style="border:1px solid #000000" mce_style="border:1px solid #000000">
   <tr>
      <td width="100%" valign="middle" align="left">
   <span style="color: $htmlkey[2];font-size: $htmlkey[3]" mce_style="color: $htmlkey[2];font-size: $htmlkey[3]">$htmlkey[4]</span>
      </td>
   </tr>
</table>
</body>
</html>