首页  ·  知识 ·  编程语言
ASP.NET中将.aspx页面转化成静态Html页面的方法
天哲  CSDN博客  .NET  编辑:天哲   图片来源:网络
在开发中我们有时候需要将ASP.NET中的.aspx页面转化成静态的页面进行相关的业务处理,网上搜索了不少方法,有一些方法的确是蛮不错的,也帮助了我,在此谢谢那些网友啦。我现在将其中的一个方法

 在开发中我们有时候需要将ASP.NET中的.aspx页面转化成静态的页面进行相关的业务处理,网上搜索了不少方法,有一些方法的确是蛮不错的,也帮助了我,在此谢谢那些网友啦。我现在将其中的一个方法整理出来,与大家一起分享。


 首先,在项目根目录下建立一个静态的模板页,就叫它Template.htm。将这个页面排版成你以后要生成的静态的Html页面的格式。在这个例子中,我要将服务器端已经传送到客户端的.aspx页面(加班单)转化成Html静态页面,前去盖章审核。那么这个模板页就应该是加班单的样式。


其Html网页代码是(一部分):

<tableborder="0"cellpadding="3"cellspacing="1"align="center"style="background-color:Black; height: 300px; width: 724px;">

            <trstyle="color:Black; background-color:White">

                <tdstyle="width:150px; text-align:center"><fontsize="2">部门:</font></td>

                <tdstyle="width:200px; text-align:left"><fontsize="2">$Department$</font></td>

                <tdstyle="width:150px;text-align:center""><font size="2">申请日期:</font></td>

                <tdstyle="width:200px; text-align:left"><fontsize="2">$ApplyTime$  

                </font></td>

            </tr>

将你要替换的部分用一个特殊的符号代替,例如例子中的$Department$。然后在网页上进行转化时可以根据这些符号进行替换,将相应的值替换这些特殊符号。

后台C#代码是:

//将动态的ASP.NET页面转化成静态的页面

        privatevoid CreateHtml()  

        {  

            try

            {  

                //设置文件名

                string filename = lblApplyTime.Text.Replace("/", "-") + "-" + lblName.Text + ".html";  

                //获取当前文件路径(服务器端)

                string path = HttpContext.Current.Server.MapPath(@"~/WebManage/Template.htm");  

                //通过路径获取模板文件内容

                using (StreamReader r = new StreamReader(path))  

                {  

                    String line = null;  

                    //大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder

                    StringBuilder str = new StringBuilder();      

                    //开始读取模板文件内容

                    while ((line = r.ReadLine()) != null)  

                    {  

                        str.AppendLine(line);//这里就是一行一行的拼接字符串

                    }  

                 r.Close();  

                 str.Replace("$Department$", lblDepartment.Text);//开始替换文本

                 str.Replace("$ApplyTime$", lblApplyTime.Text);  

                 str.Replace("$Name$", lblName.Text);  

                 str.Replace("$WorkDate$", lblWorkTime.Text);  

                 str.Replace("$WorkTime$", lblWorkTime.Text);  

                 str.Replace("$Reason$", lblReason.Text);  

                 //设置文件路径

                 string htmlpath = HttpContext.Current.Server.MapPath("~/HtmlFile/");  

                 string paths = htmlpath + filename;  

                 //实例化,并制定文件名称规则和生成文件路径

                 StreamWriter w = new StreamWriter(paths, false, Encoding.GetEncoding("utf-8"));  

                 w.Write(str);  //这里才真正开始创建文件

                 w.Close(); //关闭

                 w.Dispose();  

                }  

            }  

            catch (Exception ex)  

            {  

                Response.Write("<script>alert('" + ex.Message + "');</script>");  

            }  

        }  


本文作者:天哲 来源:CSDN博客
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读