标签:image int cti 静态文件 三种方式 www ESS 说明 bst
页面静态化,有三种方式 伪静态 真静态,折中法 现在我做的是折中发
创建一个asp.net 页面, 连接跳转到还未生成的页面

创建HttpHandle类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
/// <summary>
/// HttpHandle 的摘要说明
/// </summary>
public class HttpHandle : IHttpHandler
{
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
    public void ProcessRequest(HttpContext context)
    {
        string url = context.Request.RawUrl;
        int last = url.LastIndexOf("_");
        int dot = url.LastIndexOf(".");
        int NewNewsID = int.Parse(url.Substring(last + 1, dot - last - 1));
        string carfilepath = context.Server.MapPath("~/new/newNews_" + NewNewsID + ".html");
        if (!File.Exists(carfilepath))
        {
            NewNews NN = new NewNews();
            List<push> NewNe = NN.NewNe;
            string templatepath = context.Server.MapPath("~/new/HtmlPage.html");
            string templateHtml = ReadTemplate(templatepath);
            templateHtml = templateHtml.Replace("{$NewNewsName}", NewNe[NewNewsID].NewNewsName);
            templateHtml = templateHtml.Replace("{$NewNewsTitle}", NewNe[NewNewsID].NewNewsTitle);
            templateHtml = templateHtml.Replace("{$NewNewsConters}", NewNe[NewNewsID].NewNewsConters);
            WriteHtmlFile(carfilepath, templateHtml);
        }
        context.Response.WriteFile(carfilepath);
}
    // private string ReadTemplate(string templatePath)
    //{
    //    //检测模板文件是否存在
    //    if (!File.Exists(templatePath))
    //    {
    //        //模板文件不存在,抛出异常
    //        throw new Exception("汽车详情页面的模板文件未找到!");
    //    }
    //    //创建文件流
    //    FileStream fs = new FileStream(templatePath, FileMode.Open);
    //    //创建流读取器
    //    StreamReader sr = new StreamReader(fs);
    //    //读取文件流中的文本
    //    string templeteHtml = sr.ReadToEnd();
    //    //关闭流读取器
    //    sr.Close();
    //    //关闭文件流
    //    fs.Close();
    //    //返回读取的模板HTML
    //    return templeteHtml;
    //}
    ////写静态文件
    //private void WriteHtmlFile(string savedPath, string htmlStr)
    //{
    //    FileStream fs = new FileStream(savedPath, FileMode.Create);
    //    StreamWriter sw = new StreamWriter(fs);
    //    sw.Write(htmlStr);
    //    sw.Close();
    //    fs.Close();
    //}
//读取模板方法
        private string ReadTemplate(string templatePath)
        {
            if (!File.Exists(templatePath))
            {
                throw new Exception("报错");   
            }
            FileStream fs = new FileStream(templatePath, FileMode.Open);
            StreamReader sr = new StreamReader(fs);
            string templeteHtml = sr.ReadToEnd();
            sr.Close();
            fs.Close();
            return templeteHtml;
        }
        //
        private void WriteHtmlFile(string savedPath, string htmlStr)
        {
            FileStream fs = new FileStream(savedPath, FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(htmlStr);
            sw.Close();
            fs.Close();
        }
    }
创建一个
NewNews 表示服务器
添加数据
 public List<push> NewNe = new List<push>();
    public NewNews()
    {
        NewNe.Add(new push() { NewNewsID = 0, NewNewsName = "今天是2018/5/30", NewNewsTitle = "今天下雨了", NewNewsConters = "圆周" });
        NewNe.Add(new push() { NewNewsID = 1, NewNewsName = "今天下雨了嘛是", NewNewsTitle = "今天下雨了", NewNewsConters = "32" });
        NewNe.Add(new push() { NewNewsID = 2, NewNewsName = "今天是2018/5/30", NewNewsTitle = "今天下雨了", NewNewsConters = "烦烦烦烦烦烦22342" });
        NewNe.Add(new push() { NewNewsID = 3, NewNewsName = "今天是2018/5/30", NewNewsTitle = "今天下雨了", NewNewsConters = "2342" });
    }
}
创建一个push 类 添加属性字段
/// <summary>
/// push 的摘要说明
/// </summary>
public class push
{
    public int NewNewsID { get; set; }
    public string NewNewsName { get; set; }
    public string NewNewsTitle { get; set; }
    public string NewNewsConters { get; set; }
}
新建一个html页面 .为模板
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>表格</title>
</head>
<body>
    <div>
        <p>{$NewNewsName}</p>
        <p>{$NewNewsConters}</p>
        <p>{$NewNewsTitle}</p>
</div>
</body>
</html>
这样子 就可以了
标签:image int cti 静态文件 三种方式 www ESS 说明 bst
原文地址:https://www.cnblogs.com/whatarey/p/9112493.html