ASP.NET(C#)生成静态页面实现

 

using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.IO;
using  System.Text;

namespace  xmlDemo
{
      
/**//**//**/ ///   <summary>
      
///  staticWeb 的摘要说明。
      
///   </summary>
       public   class  staticWeb : System.Web.UI.Page
      {
          
protected  System.Web.UI.WebControls.Label Label1;
          
protected  System.Web.UI.WebControls.Label Label2;
          
protected  System.Web.UI.WebControls.Label Label3;
          
protected  System.Web.UI.WebControls.TextBox TextBox1;
          
protected  System.Web.UI.WebControls.TextBox TextBox2;
          
protected  System.Web.UI.WebControls.TextBox TextBox3;
          
protected  System.Web.UI.WebControls.Button Button1;
    
          
private   void  Page_Load( object  sender, System.EventArgs e)
          {
              
//  在此处放置用户代码以初始化页面
          }

          
public   bool  WriteFile( string  strText, string  strContent, string  strAuthor)
          {
              
string  path  =  Server.MapPath( " ~/news/ " );
              Encoding code 
=  Encoding.GetEncoding( " gb2312 " );
              
//  读取模板文件
               string  temp  =  Server.MapPath( " ~/news/text.htm " );
              StreamReader sr
= null ;
              StreamWriter sw
= null ;
              
string  str = ""
              
try
              {
                  sr 
=   new  StreamReader(temp, code);
                  str 
=  sr.ReadToEnd();  //  读取文件
              }
              
catch (Exception exp)
              {
                  HttpContext.Current.Response.Write(exp.Message);
                  HttpContext.Current.Response.End();
                  sr.Close();
              }


              
string  htmlfilename = DateTime.Now.ToString( " yyyyMMddHHmmss " ) + " .htm " ;
              
//  替换内容
              
//  这时,模板文件已经读入到名称为str的变量中了
              str  = str.Replace( " ShowArticle " ,strText);  // 模板页中的ShowArticle
              str  =  str.Replace( " biaoti " ,strText);
              str 
=  str.Replace( " content " ,strContent);
              str 
=  str.Replace( " author " ,strAuthor);
              
//  写文件
               try
              {
                  sw 
=   new  StreamWriter(path  +  htmlfilename ,  false , code);
                  sw.Write(str);
                  sw.Flush();
              }
              
catch (Exception ex)
              {
                  HttpContext.Current.Response.Write(ex.Message);
                  HttpContext.Current.Response.End();
              }
              
finally
              {
                  sw.Close();
              }
              
return   true
          }

          Web 窗体设计器生成的代码Web 窗体设计器生成的代码
#region  Web 窗体设计器生成的代码
          
override   protected   void  OnInit(EventArgs e)
          {
              
//
              
//  CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
              
//
              InitializeComponent();
              
base .OnInit(e);
          }
        
          
/**//**//**/ ///   <summary>
          
///  设计器支持所需的方法 - 不要使用代码编辑器修改
          
///  此方法的内容。
          
///   </summary>
           private   void  InitializeComponent()
          {    
              
this .Button1.Click  +=   new  System.EventHandler( this .Button1_Click);
              
this .Load  +=   new  System.EventHandler( this .Page_Load);

          }
          
#endregion

          
private   void  Button1_Click( object  sender, System.EventArgs e)
          {
              
if (WriteFile(TextBox1.Text,TextBox2.Text,TextBox3.Text))
                  Response.Write(
" <font color=\ " red\ " >成功生成静态网页 " );
              
else
                  Response.Write(
" <font color=\ " red\ " >生成出错 " );
          }
      }
}

你可能感兴趣的:(asp.net)