当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET 生成静态页面 实现思路

ASP.NET
ASP.NET下MVC设计模式的实现
ASP.NET中利用cookies保持客户端信息
有关TextBox中输入字符控制的一种解决办法
ASP.NET访问Oracle数据库的方法
追踪ASP.NET代码里的bug
在asp.net中为Web用户控件添加属性和事件
使用.NET实现断点续传
ASP.NET Whidbey中实现Provider
使用函数传递参数来执行数据库操作
ASP.NET中实现模版的动态加载
用Repeater控件显示数据
五种常见的ASP.NET安全缺陷
利用Treeview实现树形列表
将Asp.net页面输出为HTML
不走寻常路 设计ASP.NET应用程序的七大绝招
ASP.NET中的HTTP模块和处理程序
充分利用ASP.NET的三种缓存提高站点性能
在ASP.NET中使用Treeview控件和XML
ASP.NET+XML Web服务客户端创建Web服务
ASP.NET中不定级动态菜单的实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 155 ::
收藏到网摘: n/a

网上的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("<", "<");
strContent = strContent.Replace(">", ">");
//strContent = strContent.Replace(chr(13),"<br>");
strContent = strContent.Replace("\r", "<br>");
strContent = strContent.Replace(" ", " ");
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代码进行文件进行保存 平把路径存如数据库方便调用