分享

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

 悟静 2010-10-14

namespace BankAccount.test
{
/// <summary>
/// HtmlWriter 的摘要说明。
/// </summary>

public class HtmlWriter : System.Web.UI.Page
{
   private System.Data.SqlClient.SqlDataAdapter myAdapter;
   private System.Data.SqlClient.SqlConnection myConn;
   private System.Data.DataTable myDt;
   private string strConn = ConfigurationSettings.AppSettings["cns"];

   private void Page_Load(object sender, System.EventArgs e)
   {
    try
    {
     string Sqlstr = "Select Cmp_description from Company where Cmp_number = '123567'";
     string cription="";
     myDt = new DataTable();
     myConn = new SqlConnection(strConn);
     myConn.Open();
     myAdapter = new SqlDataAdapter(Sqlstr,myConn);
     myAdapter.Fill(myDt);
     if(myDt.Rows.Count>0)
     {
      cription = myDt.Rows[0]["Cmp_description"].ToString();
     }
     string title = "这是动态生成的静态页面";
     string dhtml = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//CN\"><html><head>"+
      "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"+
      "<title>"+ title +"</title></head><body topmargin=0>";
     dhtml += "<table width=760 valign=top border=1 cellspacing=1 cellpadding=0 align=center>"+
      "<tr><td height=5>"+ title   +"</td></tr><tr><td height=200 align=center>"+ cription +"</td></tr></table>"+
      "</body></html>";
     string Filename = DateTime.Now.ToString("yyyyMMddHHmmss")+".html";//动态的文件名
     string Filepath = Server.MapPath(@"\BankAccount\test\");
     string Cname = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
     string Filecreatepath = Filepath + Cname + @"\";//页面要保存的路径

     //动态生成的静态页面按年月保存本年本月的文件夹中
     if (Directory.Exists(Filecreatepath)) //判断当月的文件夹是否存在,
     {
      //调用创建html静态页面方法
      Create_html(Filecreatepath+Filename,dhtml);
     }
     else
     {
      //创建页面保存到的文件夹
      DirectoryInfo di = Directory.CreateDirectory(Filecreatepath);
      Create_html(Filecreatepath+Filename,dhtml);
     }
    }
    catch(IOException ex)
    {
     throw ex;
    }
   }
   private void Create_html(string allfilename,string htmlcode)
   {
    FileStream CreateFile = new FileStream(allfilename,FileMode.CreateNew);
    StreamWriter sw = new StreamWriter(CreateFile);
    sw.WriteLine(htmlcode);//将拼好的Html代码写入页面中
    sw.Close();
    Page.RegisterStartupScript("","<script>window.alert('The file created successfully.!')</script>");
   }

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

   }
   #endregion
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多