600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > asp.net 页面静态化

asp.net 页面静态化

时间:2021-06-05 18:18:34

相关推荐

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 = "今天是/5/30", NewNewsTitle = "今天下雨了", NewNewsConters = "圆周" });

NewNe.Add(new push() { NewNewsID = 1, NewNewsName = "今天下雨了嘛是", NewNewsTitle = "今天下雨了", NewNewsConters = "32" });

NewNe.Add(new push() { NewNewsID = 2, NewNewsName = "今天是/5/30", NewNewsTitle = "今天下雨了", NewNewsConters = "烦烦烦烦烦烦22342" });

NewNe.Add(new push() { NewNewsID = 3, NewNewsName = "今天是/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="/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>

这样子就可以了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。