`
maiguang
  • 浏览: 262535 次
  • 性别: Icon_minigender_1
  • 来自: 焦作
社区版块
存档分类
最新评论

Asp.net动态生成html页面

阅读更多

适用于:Microsoft ASP.NET
摘要: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);
}

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

 

分享到:
评论

相关推荐

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

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

    asp.net生成静态HTML页面

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

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

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

    ASP.NET生成静态HTML页面

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

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

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

    用ASP.NET动态生成图像

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

    asp.net自动生成HTML

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

    asp.net Url重写与动态生成静态页面

    在ASP.NET中,动态生成静态页面(也称为“预渲染”或“静态化”)意味着在用户请求之前,服务器会预先生成HTML页面并存储在磁盘上。当用户访问时,服务器直接返回这些静态HTML文件,而不是执行ASPX页面的完整生命...

    asp.net模板生成静态页面

    ASP.NET 模板生成静态页面是一种技术,它允许开发者将动态网站内容转化为静态HTML页面,以提高网站性能、搜索引擎优化(SEO)以及离线访问能力。对于初学者来说,这是一个非常实用的技术,因为它降低了服务器处理...

    .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动态生成静态页

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

    asp.net 生成html

    本示例将探讨如何在ASP.NET环境下,特别是在Visual Studio 2005(VS2005)中,配合Access数据库生成HTML页面。 首先,我们需要理解ASP.NET页面生命周期。当用户请求一个ASP.NET页面时,服务器会执行一系列步骤,...

    ASP.net快速生成静态页

    3. **生成HTML内容**:利用ASP.NET页面的渲染机制生成HTML内容。 4. **写入文件系统**:将生成的HTML内容保存到指定路径下。 5. **设置缓存策略**:根据`AutoUpdataPage`属性决定是否定时重新生成静态页面。 #### ...

    asp.net动态生成静态网页

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

    ASP.NET动态生成Tab

    1. **控件编程**:ASP.NET中的控件是页面交互的核心,动态生成Tab就是通过代码在服务器端创建和配置这些控件。你可以使用`System.Web.UI.WebControls.TabControl`类来创建Tab控件,并添加`TabPanel`子项来表示每个...

    asp.net 动态页面静态化

    ASP.NET动态页面静态化是一种优化网站性能的技术,它将原本由服务器实时生成的动态网页转换为HTML静态页面,从而减少服务器处理和数据库查询的工作量,加快网页加载速度,提高用户体验。这种技术尤其适用于内容更新...

    Asp.net动态生成html页面的方法分享

     适用于新闻发布系统,比如sina、163等都是采用动态生成html页面的。 适用于需动态定制页面的程序。比如论坛、聊天室等。可以加载定制好的html页面,来加强美观。 思路 1. 利用如Dw-Mx这样的工具生成html格式的模板...

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

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

Global site tag (gtag.js) - Google Analytics