读书人

asp.net如何样把整个网站的页面都变成

发布时间: 2012-06-10 14:03:15 作者: rapoo

asp.net怎么样把整个网站的页面都变成html
我想提高我的网站访问速度,所以想把整个网站的页面生成html文件 请教各位高手 能不能给个例子 给我看看! 谢谢!


[解决办法]
可以的吧 我就是这么做的 我都是修改了页面就重新生成那个html
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using LTP.Common;

/// <summary>
/// staticPage 的摘要说明
/// 页面静态处理
/// </summary>
public class staticPage : Page
{
public staticPage()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

private DataTable dt;
//自动生成页面开始//
protected override void OnPreInit(EventArgs e)
{


try
{
string stType = Request.QueryString["type"] == null ? "main" : Request.QueryString["type"].ToString();
string stID = Request.QueryString["id"] == null ? "" : Request.QueryString["id"].ToString();
string stPath = Request.QueryString["type"] == null ? "" : Request.QueryString["type"].ToString();


string P = System.IO.Path.GetFileName((this.Page.Request.PhysicalPath.ToString()).ToLower()).Replace(".aspx", "");

string str = string.Empty;
if (stType == "main")
{
str = StringPlus.ReplaceChar(P) + ".html";
}
else
{
str = StringPlus.ReplaceChar(P) + "/JoinDetails" + stID + ".html";
}
//string str = P + ".html";
string Path = Server.MapPath(str);

System.IO.FileInfo aFileInfo = new System.IO.FileInfo(Path);
if (aFileInfo.Exists)
{
TimeSpan M = System.DateTime.Now - aFileInfo.LastWriteTime;
if (M.TotalSeconds > 1)
aFileInfo.Delete();
else
Server.Transfer(str, true);
// Server.Transfer("index.html", true);
}
base.OnPreInit(e);
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
//Public.Constant.Show(this, ex.Message.ToString());
//JS.WebError(@Page.Server.MapPath("~/index.aspx"), ex.Message.ToString(), Page.Title+" Static Error!");
}
}

protected override void OnInitComplete(EventArgs e)
{

try
{

/*
DmPagekey mdKeys = new DmPagekey();
IfPagekey dfKeys = new IfPagekey();
string pageName= System.IO.Path.GetFileName((this.Page.Request.PhysicalPath.ToString()).ToLower());

mdKeys = dfKeys.GetPagekeyInfo(pageName);

if (pageName.Length >= 1)
{
if (mdKeys != null)
{
Page.Title = mdKeys.pageTitle;

//Description
HtmlMeta desc = new HtmlMeta();
desc.Name = "Description";
desc.Content = mdKeys.pageDescription;
if (desc != null)
{
//hhead.Controls.Add(desc);
Page.Header.Controls.Add(desc);
}


//Keyword
HtmlMeta keywords = new HtmlMeta();


keywords.Name = "keywords";
keywords.Content = mdKeys.pageKeyWords;
if (keywords != null)
{
Page.Header.Controls.Add(keywords);
}
}
}*/
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
//Public.Constant.Show(this, ex.Message.ToString());
}

base.OnInitComplete(e);
}

protected override void Render(HtmlTextWriter writer)
{

try
{
string stType = Request.QueryString["type"] == null ? "main" : Request.QueryString["type"].ToString();
string stID = Request.QueryString["id"] == null ? "" : Request.QueryString["id"].ToString();
string stPath = Request.QueryString["type"] == null ? "" : Request.QueryString["type"].ToString();

string P = System.IO.Path.GetFileName((this.Page.Request.PhysicalPath.ToString()).ToLower()).Replace(".aspx", "");
//string pp = this.Page.Request.RawUrl.ToString();
string str = string.Empty;
if (stType == "main")
{
str = StringPlus.ReplaceChar(P) + ".html";
}
else
{

str = StringPlus.ReplaceChar(P) + "/JoinDetails" + stID + ".html";
}


string Path = Server.MapPath(str);
//string Path = Server.MapPath("index.html");
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw = new System.IO.StreamWriter(Path, false, System.Text.Encoding.UTF8);
string Temp = html.ToString();


string s1 = "", s2 = "", s3 = "", s4 = "";
int i = 0;
int j = 0;

i = Temp.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\"");

if (i > 0)
{
j = Temp.IndexOf(">", i);

s1 = Temp.Substring(0, i);

s2 = Temp.Substring(j + 1, Temp.Length - j - 1);
}
i = s2.IndexOf("<input type=\"hidden\" name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\"");
if (i > 0)
{
// if __EVENTVALIDATION exist
i = s2.Remove(i).LastIndexOf("<div>");
j = s2.IndexOf("</div>", i);

s3 = s2.Substring(0, i);

s4 = s2.Substring(j + 6, s2.Length - j - 6);

/*
*
j = s2.IndexOf(">", i);
s3 = s2.Substring(0, i);
s4 = s2.Substring(j + 1, s2.Length - j - 1);
*/
Temp = s1 + s3 + s4;
}
else
{
Temp = s1 + s2;
}

//Temp = Temp.Replace("src=\"images/", "src=\"http://www.ignworld.com/images/");

sw.Write(Temp);
sw.Close();
tw.Close();
Response.Write(Temp);
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());


}
}

public void initSelection(HtmlSelect hSelect, int intCount)
{
for (int i = 1; i <= intCount; i++)
{
hSelect.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
}
}

读书人网 >asp.net

热点推荐