`
xylw
  • 浏览: 60255 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

asp.net 动态生成html

 
阅读更多
此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题、类别、查询关键字等。这样适合于后台没有诸如MS Sql Server这样的数据库支持的Web站点。

  适用于新闻发布系统,比如sina、163等都是采用动态生成html页面的。

  适用于需动态定制页面的程序。比如论坛、聊天室等。可以加载定制好的html页面,来加强美观。

  思路

  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模板页面

<html> 
<head> 
 <title></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代码:

//---------------------读html模板页面到stringbuilder对象里----

string[] format=new string[4];//定义和htmlyem标记数目一致的数组 
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>";//文字说明 
//----------替换htm里的标记为你想加的内容 
for(int i=0;i<4;i++) 
{ 
 htmltext.Replace("$htmlformat["+i+"]",format[i]); 
} 

//----------生成htm文件------------------―― 

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文件。程序使用了是循环替换,因此对需替换大量元素的模板速度非常快。
分享到:
评论

相关推荐

    Asp.net动态生成html页面

    ASP.NET 动态生成HTML页面是一种技术,它允许开发者创建基于Web的应用程序,这些应用程序能够根据用户请求或后台数据的变化自动生成HTML内容。这种技术在处理大量静态内容但需要数据库支持的部分信息时尤为适用,...

    利用UrlRewrite,asp.net动态生成htm页面 下载

    【标题】:“利用UrlRewrite,asp.net动态生成htm页面 下载” 在ASP.NET开发中,UrlRewrite是一项强大的技术,它允许开发者将复杂的URL重写为简洁、友好的格式,提升用户体验,同时也有助于搜索引擎优化(SEO)。本...

    asp.net自动生成HTML

    ASP.NET允许在运行时动态生成HTML,这在某些复杂的场景下非常有用,如自定义报告或动态表单。 10. **性能优化**: ASP.NET还提供了缓存机制,可以缓存已生成的HTML,减少服务器负担,提高页面加载速度。 总的来...

    用ASP.NET动态生成图像

    ### ASP.NET 动态生成图像知识点详解 #### 一、背景与目的 在现代Web开发中,能够根据用户请求实时生成图像(如图表)是非常重要的功能之一。这不仅能够提高用户体验,还可以根据实时数据更新图像内容,使得信息...

    ASP.NET动态生成html源码

    在很多门户网站的开发中,我们经常会遇到动态生成新闻的难题,本例子实现了动态生成新闻html,欢迎下载!

    .net动态生成html

    ASP.NET Web Forms是.NET Framework中的一个Web应用模型,它提供了一种基于控件的编程模型来动态生成HTML。开发者可以通过拖放控件到设计视图,并设置属性来构建页面,这些控件在运行时会自动产生HTML。 3. **ASP...

    asp.net动态页生成静态页

    ASP.NET生成静态页原理 ASP.NET可以通过两种主要方法生成静态页: - **预编译**:在网站部署前,使用ASP.NET预编译工具将所有页面转换为DLL,然后在首次请求时生成HTML。 - **运行时生成**:在用户请求动态页面时...

    ASP.NET动态生成Tab

    ASP.NET动态生成Tab是一个在网页开发中常见的需求,它允许开发者根据用户的需求或者服务器端的数据在运行时创建和展示Tab控件。这种技术通常用于构建多面板的界面,以更有效地组织和展示复杂的信息。 ASP.NET是微软...

    asp.net动态生成静态网页

    ASP.NET 动态生成静态网页是一种优化Web应用性能的技术,它通过将原本由服务器动态生成的HTML页面在首次请求时转换为静态HTML文件,并存储在服务器上,供后续请求直接读取,从而提高网站的访问速度和用户体验。...

    ASP.net动态生成静态页

    ASP.NET动态生成静态页是一种优化网站性能的技术,它允许开发者将原本由服务器处理的ASP.NET动态页面转换为HTML静态页面,从而减少服务器负担并提高页面加载速度。这种技术尤其适用于内容更新频繁但又希望提高用户...

    asp.net 生成html

    ASP.NET 是一种强大的Web应用程序开发框架,由微软公司推出,用于构建动态、数据驱动的Web应用。在ASP.NET中,生成HTML是实现客户端呈现的关键步骤。在这个过程中,开发者可以使用服务器端控件、HTML帮助器以及...

    Asp.net生成html文件

    在Asp.net开发环境中,生成HTML文件是一种常见的需求,它可能用于静态化网页内容、...以上就是关于Asp.net生成HTML文件的核心知识点。在实际项目中,根据具体需求选择合适的方法,可以有效地实现HTML文件的生成和管理。

    asp.net客户端动态生成控件

    在ASP.NET开发中,动态生成控件是一种常见的技术,它允许开发者在运行时根据需要创建、修改或删除页面上的用户界面元素。这种技术对于构建高度交互性和灵活性的应用程序尤其有用,比如在线表单、购物车或者任何需要...

    asp.net生成静态HTML页面

    ASP.NET生成静态HTML页面是一种常见的优化网站性能和SEO(搜索引擎优化)的技术。它涉及将原本由服务器动态生成的ASP.NET(通常使用C#语言编写)网页转换为纯HTML文件,这些文件可以直接由Web服务器提供,而无需每次...

    利用UrlRewrite,asp.net动态生成htm页面

    本篇将详细讲解如何利用UrlRewrite技术,实现asp.net动态生成htm页面。 一、UrlRewrite基础 UrlRewrite是IIS(Internet Information Services)提供的一种模块,它可以重写HTTP请求的URL,隐藏实际的服务器端处理...

    ASP.NET生成静态HTML页面

    总的来说,ASP.NET生成静态HTML页面是提高网站性能和SEO的有效手段,通过合理利用动态生成和静态存储的优势,可以为用户提供更快的加载速度和更好的浏览体验。同时,对于大型或高流量网站,这种技术更是必不可少,...

    asp.net动态生成js导航菜单的方法

    在ASP.NET中,动态生成JavaScript(JS)导航菜单是一种常见的需求,特别是在权限管理严格的系统中。这个场景下,用户权限的不同会决定他们在界面中能看到哪些菜单项。在描述中提到,菜单是根据用户在数据库中的权限...

    Asp.net动态表头生成类

    在ASP.NET开发中,动态表头生成是一项常用的技术,它允许开发者在运行时根据不同的数据源和需求构建灵活多变的表格布局。标题"ASP.NET动态表头生成类"指向了这一关键点,即如何在ASP.NET环境中创建一个类来实现这种...

    ASP.NET动态生成静态页面技术

    - 动态生成静态页面的基本思路是在服务器端根据用户请求动态地生成HTML内容,并将其保存为静态文件。这样,下次用户访问时可以直接加载这个静态文件,从而提高了响应速度。 - 这种方法特别适合于内容变化不频繁但...

    ASP.NET动态网站开发教程(第二版)

    3. **razor语法**: Razor视图引擎是ASP.NET中用于生成HTML的一种简洁、高效的语法,结合C#编程语言,使代码与HTML模板无缝融合。 4. **ASP.NET Core**: 作为.NET Framework的升级,ASP.NET Core是跨平台、高性能的...

Global site tag (gtag.js) - Google Analytics