简单实用的Asp.net生成静态页方法

闲来没事,瞎弄了个动态生成静态HTML的东东,一般比如新闻等的查看页面,都会用到。

方法虽笨,但容易理解!希望可以给没有做过类似情况的人员一点思路。

 

步骤1:建立一个HTML模板,如下图所示,其中{$Title}这些是动态要替换掉的。

当然,我这个只是一个救命,样式布局什么的都没有加。

步骤2:写转换的代码。(代码中没有做任何的错误保护及异常处理)

代码
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
// 新闻的ID
         string  id  =   " 89516549846 " ;
        
// 新闻的标题
          string  title  =   " 测试生成的静态页 " ;
        
// 新闻的发布时间
          string  date  =   " 2010-10-28 " ;
        
// 新闻的内容
          string  content  =   @"  中国石油昨晚发布三季报,按国际会计准则前三季度归属于本公司股东的净利润为1000.3亿元人民币,基本每股收益0.55元人民币,比上年同期增长23%。此外第三季度净利达到347亿元,同比增长12.5%,也创下了两年来季度业绩最佳值。<br/>
                            <br/>
                            接近2009年全年利润<br/>
                            <br/>
                            这也是今年以来中石油净利润首度突破1000亿元,已经接近2009年其全年净利润1031亿元。受到油气价格和产量的提升,上半年中石油实现净利润652.11亿元,同比增29.6%若以每月平均30天计算,前9个月中石油创下净利润1000亿元,即相当于每日净赚3.7亿元。作为上游业务比较大的石油公司,原油价格和产量对公司业绩影响最大。<br/>
                            <br/>
                            前三季度,公司共生产原油6.4亿桶,同比上升1.3%,生产可销售天然气16845亿立方英尺,同比增长10.5%,实现国内原油生产稳中有升、天然气产量继续保持两位数增长。前三季度,共加工原油6.57亿桶,同比上升8.3%。进入6月份以来,国际市场油价持续在每桶70美元-80美元之间高位波动。<br/>
                            <br/>
                            国际油价上涨所致<br/>
                            <br/>
                            对于上述业绩,中国石油表示,总体经营业绩好于预期。中国石油股份有限公司有关人士对记者表示,取得上述业绩确实受到国际油价上涨影响。
                                <br/>
                            26日国内成品油价格再度上调,中信证券分析人士表示,油价上调将利于改善中石油的炼油成本。此外受到认为弱势美元和充裕流动性影响以及美国能源部和OPEC等权威机构上调原油需求与其基本面支撑叠加,预计油价还有上升趋势,并可能在四季度达到90美元乃至100美元每桶的全年高点,也将利好于中石油。预计中石油全年的EPS(每股收益)可达0.91元。<br/>
                            <br/>
                            分析<br/>
                            <br/>
                            爆炸事故对业绩影响不大<br/>
                            <br/>
                            7月16日,中石油大连新港保税区油库发生原油泄漏和爆炸,并导致该油库输送至大连石化公司的新大线停止运行,直接影响了大连石化的生产。但该条管线在7月16日事发三天后即7月19日22时45分即恢复运行,并以每天4.5万吨的输量向大连石化供油。<br/>
                            <br/>
                            公开资料显示大连石化年炼油能力超过2000万吨,是目前国内最大的炼厂之一。但其占中石油整体炼油能力比重并不大。截至2009年中石油的炼油年加工能力达到1.49亿吨。<br/>
                            <br/>
                            此前中石油相关负责人也对记者表示,大连事件对公司的整体运营影响不大。<br/>
                            <br/>
                            10月24日,曾经发生爆炸的103号油罐再次发生火灾。但对于此次事故,中石油方面则没有披露相关信息。<br/>
" ;
        
        
// 以下代码功能就是将HTML模板的内容替换,生成新的静态页面
          string  templete = string .Empty;
        StreamReader sr 
=   new  StreamReader(Server.MapPath( " ~/HtmlTemplete/news.htm " ),System.Text.Encoding.Default);
        templete 
=  sr.ReadToEnd();

        templete 
=  templete.Replace( " {$Title} " , title).Replace( " {$Date} " , date).Replace( " {$Content} " , content);

        
string  filePath  =  Server.MapPath( " ~/news/2010/10/28/89516549846.html " );
        
string  directory = System.IO.Path.GetDirectoryName(filePath);
        
if  ( ! Directory.Exists(directory))
            Directory.CreateDirectory(directory);

        StreamWriter sw 
=   new  StreamWriter(filePath,  false , System.Text.Encoding.Default);
        sw.Write(templete);

        
// 使用完成后,要释放关闭,否则Response.Redirect("news/2010/10/28/89516549846.html");的时候,会报“文件正在使用的错误”
         sw.Flush();
        sw.Close();

        Response.Redirect(
" news/2010/10/28/89516549846.html " );
    }

 

步骤3:预览生成的页面。效果如下。

完成了,简单吧~~

 

转自:http://www.cnblogs.com/liu2008hz/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET MVC 一般处理程序(General Handler),也称为 ashx 文件,是一种在 ASP.NET MVC 中用于处理特定请求的一种方式。 ASP.NET MVC 一般处理程序继承自 IHttpHandler 接口,它主要用于处理静态文件或非标准的请求。与控制器不同,一般处理程序不需要路由或视图,它直接接受请求并返回处理结果。 一般处理程序在项目中以 .ashx 的文件形式存在,可以在其中实现一些自定义的处理逻辑。可以通过在 Global.asax 文件中注册路由来映射一般处理程序的请求。 与控制器相比,一般处理程序更轻量级,更适合处理一些简单的请求,如文件下载、图片验证码生成等。它使用起来更加灵活,并且性能也更好。 使用一般处理程序的步骤如下: 1. 在项目中创建一个 .ashx 文件。 2. 实现一般处理程序的逻辑,可以通过实现 ProcessRequest 方法来处理请求,同时还可以通过实现 IRequiresSessionState 接口来访问会话状态。 3. 在 Global.asax 文件中注册一般处理程序的路由,指定请求的 URL 模式和对应的一般处理程序类名。 4. 在浏览器中访问对应的 URL,即可触发一般处理程序的逻辑,并返回处理结果。 总之,ASP.NET MVC 一般处理程序是一种用于处理特定请求的方式,它比控制器更轻量级、更灵活,适合处理一些简单的请求。我们可以通过创建一般处理程序文件,实现自定义逻辑,并在 Global.asax 文件中注册路由来使用一般处理程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值