扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容介绍了“ASP.NET静态页生成的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
10年积累的网站建设、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有红寺堡免费网站建设让你可以放心的选择与我们合作。本文实例讲述了ASP.NET静态页生成方法。分享给大家供大家参考。具体实现方法如下:
一、问题:
由于业务需要,得把页面按照模板页生成静态页面,所以自己就琢磨了下,写些思路,以备日后需要的时候用。
二、解决方法:
静态页生成用到最多的就是匹配跟替换了,首先得读取模板页的html内容,然后进行你自己定义的标签匹配,比如说我要把我定义的标题标签换成读取数据库的标题内容,那么可以直接读取数据库的标题,然后直接进行替换,然后生成html文件就OK了。
具体代码如下:
复制代码 代码如下:
///
/// 解析模板的html中匹配的标签,进行替换(暂时只能用于没有分页的页面)
///
/// HTML
///
public static string ReturnHtml(string html)
{
string newhtml = html;
newhtml = newhtml.Replace("<#Title#>", "这个是标题替换");//替换标题
//newhtml = newhtml.Replace("<#Content#>", "这个是内容替换");//替换标题
newhtml = CreateList(newhtml);
return newhtml;
}
///
/// 读取HTML文件
///
/// html文件的相对路径
///
public static string ReadHtmlFile(string temp)
{
StreamReader sr = null;
string str = "";
try
{
sr = new StreamReader(HttpContext.Current.Server.MapPath(temp), code);
str = sr.ReadToEnd(); // 读取文件
}
catch (Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
}
finally
{
sr.Dispose();
sr.Close();
}
return str;
}
///
/// 生成html文件
///
/// 文件名(带相对路径路径,如:../a.html)
/// html内容(整个)
public static void writeHtml(string filmname, string html)
{
System.Text.Encoding code = System.Text.Encoding.GetEncoding("utf-8");
string htmlfilename = HttpContext.Current.Server.MapPath(filmname);
string str = html;
StreamWriter sw = null;
// 写文件
try
{
sw = new StreamWriter(htmlfilename, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
}
从代码可以看得出来,生成静态页面其实就是这么一个过程:读取模板页的源码->匹配替换自定义的标签为实际内容->最后再生成新的html文件,思路就这么走,以前没有动手过,觉得太复杂了,如今主动写的时候,发现也不算很复杂。
最后,如果说有些生成分页列表的,也就是把列表页面进行循环生成,有多少页就生成多少个静态页文件,如果有不懂的可以回复问,我懂的我尽量为大家解答,当然,不懂的我也无能为力了,毕竟我也是刚接触这功能,现在暂时弄得一个最简陋的样子,附图上来给大家笑话笑话:
“ASP.NET静态页生成的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流