关于ASP.NET给网站栏目页生成纯静态页面方法

首先需要新建一个mk.aspx页面。用来生成html文件。

大致版面就这样。

关于给网站栏目页生成纯静态文件 - 武二郎 - 山不在高,有仙则灵

前面代码基本就是ul,button,label这些控件组成。具体代码就不贴了。




主要是C#代码


需要引用 命名空间:using System.IO;

StreamWriter sw;
public string pathName = "";
public string UrlName = "";
Label lbl;

/// <summary>
/// 一键生成
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnTotal_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
MakeHtml(i);
}
}

/// <summary>
/// 主页生成
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnIndex_Click(object sender, EventArgs e)
{
MakeHtml(0);
}
/*

为省篇幅,其他栏目页的生成省略,方法同上

/*

/// <summary>
/// 主方法
/// </summary>
/// <param name="num"></param>
public void MakeHtml(int num)
{

try
{
switch (num)
{
case 0:
//定义存放html的路径
pathName = "index.html";
//定义需要从哪个地方摘取代码

//我将aspx文件都放在了SourceFile文件夹下
UrlName = "SourceFile/index.aspx";
lbl = lblIndex;
break;
 

/*

为省篇幅,其他栏目页的生成方法省略,方法几乎一样

*/


}
//streamWriter后面的3个参数意思分别是,html的存放路径,是否是在原文件上增加,写入的代码编码类型
sw = new StreamWriter(Server.MapPath(pathName), false, System.Text.Encoding.GetEncoding("gb2312"));
//执行写入文件
Server.Execute(UrlName, sw);
//如果成功
lbl.Text = "生成成功!";
lbl.Style.Add("color", "red");
lbl.Style.Add("margin-left","10px");
}
catch
{
//如果中间出错
lbl.Text = "生成失败!";
lbl.Style.Add("color", "black");
lbl.Style.Add("margin-left", "10px");
}
finally
{
//最后流一定要关闭
sw.Close();
}
}



这样一个静态页面就做好了。一键生成就是循环使用了MakeHtml()方法。

当然前台页面的url都要更改过来。

你可以一个个更改,也可以用一个类来管理所有的URL。

我是这样的,前台每个连接多加一步。

href='<%= UrlManager.GetUrl("production","other") %>'

再新建一个名为UrlManager类。

然后在类中写GetUrl方法。

首先引用webconfig中定义的

static string id = ConfigurationManager.AppSettings["IsStatic"].ToString();

如果是动态页面则给动态页面链接。

return "/production.aspx?sortid=" + url;

如果是静态页面则给静态页面链接。

return "/pros/sort_" + url + "_1.html";

这样的话,只需修改一个地方,整个站点的URL就轻易的管理过来了。无需一个个修改。


到这里为止,前台的栏目页静态生成方法就写好了。

剩下还有分类,产品翻页,产品详情页,新闻详情页的静态页面在下一篇文章中再写。


文章链接。http://zhanghai793941.blog.163.com/blog/static/192030054201311212031732/

posted @ 2013-12-02 11:33  武二郎  阅读(260)  评论(0编辑  收藏  举报