本文摘自PHP中文网,作者巴扎黑,侵删。
思路
1. 利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$htmlformat$),动态生成文件时利用代码读取此模板,然后获得前台输入的内容,添加到此模板的标记位置中,生成新文件名后写入磁盘,写入后再向数据库中写入相关数据。
2. 使用后台代码硬编码Html文件,可以使用HtmlTextWriter类来写html文件。 优点
1. 可以建立非常复杂的页面,利用包含js文件的方法,在js文件内加入document.write()方法可以在所有页面内加入如页面头,广告等内容。
2. 静态html文件利用MS Windows2000的Index Server可以建立全文搜索引擎,利用asp.net可以以DataTable的方式得到搜索结果。而Win2000的Index服务无法查找xml文件的内容。如果包括了数据库搜索与Index索引双重查找,那么此搜索功能将非常强大。
3. 节省服务器的负荷,请求一个静态的html文件比一个aspx文件服务器资源节省许多。
缺点
思路二: 如果用硬编码的方式,工作量非常大,需要非常多的html代码。调试困难。而且使用硬编码生成的html样式无法修改,如果网站更换样式,那么必须得重新编码,给后期带来巨大的工作量。
因此这里采用的是第一种思路
示列代码
1.定义(template.htm)html模板页面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < html >
< head >
< title >www.knowsky.com</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=gb2312" >
</ head >
< body >
< table $htmlformat[0] height = "100%" border = "0" width = "100%" cellpadding = "10" cellspacing = "0" bgcolor = "#eeeeee" style = "border:1px solid #000000" >
< tr >
< td width = "100%" valign = "middle" align = "left" >
< span style = "color: $htmlformat[1];font-size: $htmlformat[2]" >$htmlformat[3]</ span >
</ td >
</ tr >
</ table >
</ body >
</ html >
|
2.asp.net代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | string [] format= new string [4];
StringBuilder htmltext= new StringBuilder();
try
{
using (StreamReader sr = new StreamReader( "存放模板页面的路径和页面名" ))
{
String line;
while ((line = sr.ReadLine()) != null )
{
htmltext.Append(line);
}
sr.Close();
}
}
catch
{
Response.Write( "<Script>alert('读取文件错误')</Script>" );
}
format[0]= "background=\"bg.jpg\"" ;
format[1]= "#990099" ;
format[2]= "150px" ;
format[3]= "<marquee>生成的模板html页面</marquee>" ;
for ( int i=0;i<4;i++)
{
htmltext.Replace( "$htmlformat[" +i+ "]" ,format[i]);
}
try
{
using (StreamWriter sw= new StreamWriter( "存放路径和页面名" , false ,System.Text.Encoding.GetEncoding( "GB2312" )))
{
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
}
}
catch
{
Response.Write ( "The file could not be wirte:" );
}
|
小结
用此方法可以方便的生成html文件。程序使用了是循环替换,因此对需替换大量元素的模板速度非常快。
【相关推荐】
1. 动态生成HTML表单的asp.net方法代码示例
2. Asp.net动态生成html页面的方法分享
以上就是利用ASP.NET技术动态生成HTML页面的详细内容!
相关阅读 >>
ASP保存二进制图片到access数据库
分享一篇ASP createtextfile 的定义和用法
ASP fso:创建文件 createtextfile 实例教程
详解ASP中session的使用技巧
php代码如何转 .net?
ASP生成随机密码的两个函数
net framework 4.0安装未成功原因是hresult...怎么办
利用ASP.net技术动态生成html页面
.net中的重载是什么?
ASP.net与ASP有什么不同
更多相关阅读请进入《ASP》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 利用ASP.NET技术动态生成HTML页面