zoukankan      html  css  js  c++  java
  • 关于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/

    经验在于积累----武二郎
  • 相关阅读:
    二进制显示整数
    测试intel 8.0
    实用的免费网络空间
    tcp/ip入门(转)
    桶排序
    在talking bar的留言(够无聊)
    重装系统手记
    几个宏
    组合算法<转>
    记深圳慧通面试
  • 原文地址:https://www.cnblogs.com/zhanghai/p/4461223.html
Copyright © 2011-2022 走看看