首页  ·  知识 ·  编程语言
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
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的