Asp.net生成html文件

Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改).
通过收入内容替换模板或者url地址两种方式进行静态文件的生成
templete.htm为模板文件,htm为生成后的静态文件保持位置 

代码如下:

<% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>

<! 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  runat ="server" >
    
< title > 无标题页 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        标题:
< asp:TextBox  ID ="txtTitle"  runat ="server"  Width ="352px" ></ asp:TextBox >< br  />
        内容:
< asp:TextBox  ID ="txtContent"  runat ="server"  Height ="179px"  TextMode ="MultiLine"
            Width
="350px" ></ asp:TextBox >< br  />
        
< br  />
        
< asp:Button  ID ="Button1"  runat ="server"  OnClick ="Button1_Click"  Text ="根据模板生成"   />< br  />
        
< br  />
        
< br  />
        Url地址:
< asp:TextBox  ID ="txtUrl"  runat ="server"  ToolTip ="请确认Url地址的存在"  Width ="359px" ></ asp:TextBox >
        
< br  />
        
< br  />
        
< asp:Button  ID ="Button2"  runat ="server"  Text ="根据Url地址生成"  OnClick ="Button2_Click"   /></ div >
    
</ form >
</ body >
</ html >

codeBehind代码如下:

using  System;
using  System.Data;
using  System.Configuration;
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  System.Net;
using  System.Text;
using  System.IO;

public  partial  class  _Default : System.Web.UI.Page 
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {

    }
    
// 根据模板生成,保持在html文件夹中(部分源码搜集于网络)
     protected   void  Button1_Click( object  sender, EventArgs e)
    {
        
// 源码是替换掉模板中的特征字符

        
string  mbPath  =  Server.MapPath( " template.htm " );
        Encoding code 
=  Encoding.GetEncoding( " gb2312 " );
        StreamReader sr 
=   null ;
        StreamWriter sw 
=   null ;
        
string  str  =   null ;

        
// 读取
         try
        {
            sr 
=   new  StreamReader(mbPath, code);
            str 
=  sr.ReadToEnd();

        }
        
catch  (Exception ex)
        {
            
throw  ex;
        }
        
finally
        {
            sr.Close();
        }

        
// 根据时间自动重命名,扩展名也可以自行修改
         string  fileName  =  DateTime.Now.ToString( " yyyyMMddHHmmss " +   " .htm " ;
        str 
=  str.Replace( " $title$ " , txtTitle.Text); // 替换Title
        str  =  str.Replace( " $content$ " , txtContent.Text); // 替换content

        
// 生成静态文件
         try
        {
            sw 
=   new  StreamWriter(Server.MapPath( " htm/ " +  fileName,  false , code);
            sw.Write(str);
            sw.Flush();

        }
        
catch  (Exception ex)
        {
            
throw  ex;
        }
        
finally
        {
            sw.Close();
            Response.Write(
" 恭喜<a href=htm/ "   +  fileName  +   "  target=_blank> "   +  fileName  +   " </a>已经生成,保存在htm文件夹下! " );
        }


    }


    
// 根据Url地址生成静态页保持
     protected   void  Button2_Click( object  sender, EventArgs e)
    {
        Encoding code 
=  Encoding.GetEncoding( " utf-8 " );
        StreamReader sr 
=   null ;
        StreamWriter sw 
=   null ;
        
string  str  =   null ;

        
// 读取远程路径
        WebRequest temp  =  WebRequest.Create(txtUrl.Text.Trim());
        WebResponse myTemp 
=  temp.GetResponse();
        sr 
=   new  StreamReader(myTemp.GetResponseStream(), code);
        
// 读取
         try
        {
            sr 
=   new  StreamReader(myTemp.GetResponseStream(), code);
            str 
=  sr.ReadToEnd();

        }
        
catch  (Exception ex)
        {
            
throw  ex;
        }
        
finally
        {
            sr.Close();
        }
        
string  fileName  =  DateTime.Now.ToString( " yyyyMMddHHmmss " +   " .htm " ;

        
// 写入
         try
        {
            sw 
=   new  StreamWriter(Server.MapPath( " htm/ " +  fileName,  false , code);
            sw.Write(str);
            sw.Flush();

        }
        
catch  (Exception ex)
        {
            
throw  ex;
        }
        
finally
        {
            sw.Close();
            Response.Write(
" 恭喜<a href=htm/ "   +  fileName  +   "  target=_blank> "   +  fileName  +   " </a>已经生成,保存在htm文件夹下! " );
        }

    }
}

模板文件代码template.htm如下:

<! 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 >
    
< title >  $title$ 生成静态页的Demo|-51aspx.com </ title >
    
< style  type ="text/css" >
<!--
.STYLE1 
{
    font-size
:  16px ;
    font-weight
:  bold ;
}
-->
    
</ style >
</ head >
< body >
< br  />
< br  />
< table  width ="100%"  border ="0"  bgcolor ="#339900" >
  
< tr >
    
< td  height ="34"  align ="center"  bgcolor ="#FFFFFF" >< span  class ="STYLE1" > $title$  </ span ></ td >
  
</ tr >
  
< tr >
    
< td  height ="42"  bgcolor ="#FFFFFF" >< br  />
      
< br  />
    内容:$content$ 
</ td >
  
</ tr >
</ table >
</ body >
</ html >
截图:
完整代码下载: asp.net生成html

转载于:https://www.cnblogs.com/kfcccer/archive/2007/05/20/753440.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值