ASP.NET 生成静态页面 实现思路

 更新时间:2009年06月25日 13:32:44   作者:  
网上的cms系统好多都是支持生成静态的,大家在使用过程中,也肯定遇到了很多的问题,下面就是一些实现的原理,其实 asp,php,asp.net的原理都是差不多的。
1.首页选择HTML原型网页
然后再该HTML网页添加一些自认为特别的标记,已便到时候静态化的时候系统能更精确的进行操作!
2.获取HTML网页代码
我选择的是通过FileUpload控件进行获取静态度页面模型,进行保存!
复制代码 代码如下:

if (FileUpload1.PostedFile.FileName == "")
{
Response.Write("<script>alert('请确定您是否选择了网页')</script>");
return;
}
if ((FileUpload1.FileName.LastIndexOf(".") != "htm") || (FileUpload1.FileName.LastIndexOf(".") != "html"))
{
Response.Write("<script>alert('请确定您是否选择了网页')</script>");
return;
}
System.Text.Encoding ec = System.Text.Encoding.GetEncoding("gb2312");//指定编码格式
System.IO.StreamReader sr = new System.IO.StreamReader(FileUpload1.PostedFile.FileName, ec);

string strHTML =Convert.ToString(sr.ReadToEnd());
strHTML=FormatStr(strHTML); //格式化HTML代码后,将此strHTML插入数据库 已便使用时候提取!
sr.Close();
//贴上格式化HTML方法代码

/// <summary>
/// 格式 化 HTML
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private string FormatStr(string str)
{
string strContent = str.Replace("<", "&lt;");
strContent = strContent.Replace(">", "&gt;");
//strContent = strContent.Replace(chr(13),"<br>");
strContent = strContent.Replace("\r", "<br>");
strContent = strContent.Replace(" ", "&nbsp;");
strContent = strContent.Replace("[isOK]", "<img src=");
strContent = strContent.Replace("[b]", "<b>");
strContent = strContent.Replace("[red]", "<font color=CC0000>");
strContent = strContent.Replace("[big]", "<font size=7>");
strContent = strContent.Replace("[/isOK]", "></img>");
strContent = strContent.Replace("[/b]", "</b>");
strContent = strContent.Replace("[/red]", "</font>");
strContent = strContent.Replace("[/big]", "</font>");
return strContent;
}

3.提取先前保存过的HTML页面模型
然后通过 string.Replace(char oldstring,char newstring );
对模型页面中预先 设置好的特别标记进行替换成我们需要动态更改的!
4.对动态更新后的HTML代码进行文件进行保存 平把路径存如数据库方便调用

相关文章

  • 水晶报表图片不显示两种问题分析及解决方法

    水晶报表图片不显示两种问题分析及解决方法

    水晶报表布置后里面的图片不显示的情况,分两种:一是:水晶报表工具栏上的图片不显示;二是:水晶报表中的的图片对象不显示,接下来将分别介绍解决方法,感兴趣的朋友可以了解下啊
    2013-01-01
  • 获取asp.net服务器控件的客户端ID和Name的实现方法

    获取asp.net服务器控件的客户端ID和Name的实现方法

    下面小编就为大家带来一篇获取asp.net服务器控件的客户端ID和Name的实现方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • .NET Framework常用ORM框架iBatis.Net操作数据库的方法

    .NET Framework常用ORM框架iBatis.Net操作数据库的方法

    iBatis.Net 是一个轻量级的 ORM 框架,它允许开发者通过直接编写 SQL 查询来操作数据库,并将查询结果映射到对象模型中,本文将通过实际的代码示例,详细介绍如何在 .NET 环境中使用 iBatis.Net 进行数据库操作,感兴趣的朋友一起看看吧
    2024-08-08
  • 为Visual Studio2019添加Git组件

    为Visual Studio2019添加Git组件

    这篇文章介绍了为Visual Studio2019添加Git组件的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • ASP.NET网站伪静态下使用中文URL的方法

    ASP.NET网站伪静态下使用中文URL的方法

    中文URL是在URL中直接使用汉字,它的好处是可以使用链接地址看起来非常直观易懂,伪静态的规则,是在web.config文件中定义的
    2014-08-08
  • WPF使用VisualTreeHelper进行命中测试

    WPF使用VisualTreeHelper进行命中测试

    这篇文章介绍了WPF使用VisualTreeHelper进行命中测试的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ASP.NET Core应用JWT进行用户认证及Token的刷新方案

    ASP.NET Core应用JWT进行用户认证及Token的刷新方案

    本文详细讲解了ASP.NET Core应用JWT进行用户认证及Token的刷新方案,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • .NET 下运用策略模式(组合行为和实体的一种模式)

    .NET 下运用策略模式(组合行为和实体的一种模式)

    我简单的理解策略模式就是把行为(方法)单独的抽象出来,并采用组合(Has-a)的方式,来组合行为和实体的一种模式比如,.NET中对数组排序的Sort的方法就是一个策略模式的实现模板
    2012-12-12
  • asp.net(C#)跨域及跨域写Cookie问题

    asp.net(C#)跨域及跨域写Cookie问题

    在网站www.A.com下通过iframe或ajax调用www.B.com下的内容时,默认情况下IE会阻止www.B.com写任何Cookie
    2011-10-10
  • ASP.NET MVC使用typeahead.js实现输入智能提示功能

    ASP.NET MVC使用typeahead.js实现输入智能提示功能

    这篇文章介绍了ASP.NET MVC使用typeahead.js实现输入智能提示功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09

最新评论