asp.net mvc 生成静态页面的方法

一直以来都在做一些电子商务网站,也很少写博客,今天星期天,在公司值班,没有事就写一下我所做的项目是怎样生存成静态页面的。。我接手的这些项目中,有很多模块都是前人所写好的。就好比现在这个生成静态页面的方法,以前不知道它是怎样处理的,因为它是VB写的,我也没有学过VB,它的源码也看不明白。

今天没有事情就打开它的源码来看,居然看到一个熟悉的类:WebClient ,虽然是VB的代码,但看了一下,不明白的上google找了一下,明白了它是怎样生成静态页面的了。C#做的话其实也很简单,同样是用WebClient类来实现。

简单的描述一下需求,后台要添加新闻,然后把添加的新闻生成静态页面,例如:test.html这种文件形式。做起来是这样实现的,先做一个动态的新闻页面,即新闻的模板页,然后URL传入新闻ID参数,传到哪里呢?当然是传到新闻动态模板页了,模板页根据不同ID生成不同的新闻;然后调写WebClient的静态方法DownloadString,这个方法重载了两个,一个是string类型的,一个是Uri类型的。我把模板页的URL地址传进去,再给上参数,例如:http://localhost/Assistant/NewsModel.aspx?newsId=78,函数返回的是string,也就是给客户端看到的HTML代码了;这时就可以通过.net来写文件了哈。。思路说到这里了,我想大家实现起来也不是很难。。。。

另外再贴一小段代码吧:

asp.net mvc 生成静态页面的方法 1
代码
    /// <summary>
/// 生成静态页
/// </summary>
public static void CreateStaticPage(string filepath, string url)
{
WebClient wc = new WebClient();
wc.Encoding = Encoding.UTF8;
string file = wc.DownloadString(“http://localhost/Assistant/NewsModel.aspx?newsId=78”);
using (FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(“new/test.html”), FileMode.Create))
{
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.Write(file);
fs.Dispose();
fs.Close();
}
}
User Review
0 (0 votes)
本站最新优惠

Namesilo优惠:新用户省 $1 域名注册-优惠码:45D%UYTcxYuCloZ 国外最便宜域名!点击了解更多

特别优惠:免费赠送 $100 Vultr主机-限时优惠!英文站必备海外服务器!点击了解更多

VPS优惠:搬瓦工优惠码:BWH3OGRI2BMW 最高省5.83%打开外面世界的一款主机点击了解更多

原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2018/18636.html

扫码关注【江湖人士】公众号,您会获得关于国外被动收入的最新资讯

WA付费会员QQ群:387027533,加这个群需要回答您的WA会员名,待核实后予以通过

普通QQ交流群:178758794,可分享交流建站的各类经验和知识

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 8 =