asp.net生成静态页的方法
1、直接将页面内容存在变量中后输出:
StringBuilder IndexContentResult= new StringBuilder(); //存放输出页面的HTML
IndexContentResult.Append("<html>\n");
IndexContentResult.Append(" <head>\n");
IndexContentResult.Append(" <title>title</title> \n");
IndexContentResult.Append(" </head>\n");
IndexContentResult.Append(" <body>\n");
...
IndexContentResult.Append(" <body>\n");
IndexContentResult.Append("</html>\n");
string tempfile = Server.MapPath("~");
tempfile = tempfile + "index.htm";
System.IO.StreamWriter sr = new System.IO.StreamWriter(tempfile, false, System.Text.Encoding.Default);
sr.Write(IndexContentResult.ToString());
sr.Close();
2、用模板替换:
template.htm //模板文件
<html>
<head>
<title>$title$</title>
</head>
<body>
$body$
</body>
</html>
.cs代码文件
string title = "生成的网页标题";
string body = "生成的网页内容";
string filename = Server.MapPath("~/") + "frame_a/index.htm";
System.IO.StreamReader srm = new System.IO.StreamReader(filename,System.Text.Encoding.Default);
string mb = srm.ReadToEnd();
srm.Close();
string tempfile = Server.MapPath("~/") + "index.htm";
StreamWriter sr = new System.IO.StreamWriter(tempfile, false, System.Text.Encoding.Default);
mb = mb.Replace("$title$", title);
mb = mb.Replace("$body$", body);
sr.Write(mb);
sr.Close();
相关文档:
asp.net 发布网站时有三个选项:
1、允许更新此预编译站点:asp.net web 页面通常包含两个页面,一个即 .aspx 页,还有一个 .aspx.cs 文件,后一个文件是基本委托的事件响应文件代码;此处允许更新此预编译站点的意思就是:.aspx 页可根据需要进行一定的更新,而 .aspx.cs 编译成的 .dll 保持不变;另外,如果发布网站时只 ......
这两天看《道不远人-----深入解析ASP.NET2.0控件开发》这本书,看完第二章内容后,想总结下“设置自定义ASP.NET服务器控件TagPrefix的几种方法”,以便以后查阅,以下面code编写的控件为例,由于重点不是控件编写,所以写了个非常简单的控件,姑且叫它EmailInput
Code
1using System;
2using ......
方法
数据量
生命期
作用域
位置
Application
任意大小
整个应用程序
所有用户
服务端
Cache
任意大小
根据需要设定
所有用户
服务端
Cookie
简单数据
根据需要设定
单个用户
客户端
Session
简单数据
用户活动时间+延迟时间(20分钟)
单个用户
服务端
Web.Config
极少改变简单数据
直到改变配 ......
+++ 页面代码如下:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
+++ 后台代码如下:
protected void Butto ......
您可以使用HTTP模块,一个到ASP.NET HttpApplicationState类的扩展,在Global.asax编写代码强制ASP.NET在每一个页面请求时自动注入依赖的对象,就像在ASP.NET Web窗体应用程序中讨论的一样.
下列方法显示了一个合适的方法能够获取PreRequestHandlerExecute事件将它自己注入到ASP.NE ......