可以写个基类,如:
public class BasePage: System.Web.UI.Page
{
public BasePage()
{
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
string name=Request.Url.AbsolutePath.Substring(1,Request.Url.AbsolutePath.Length-1).Replace("aspx","htm");
string newurl="";
if(name.IndexOf("/")>0)
{
newurl=Server.MapPath("../") + name;
}
else
{
newurl=Server.MapPath("./") + name;
}
MemoryStream ms = new MemoryStream();
StreamWriter sww = new StreamWriter(ms);
StreamWriter swr = new StreamWriter(newurl);
System.Web.UI.HtmlTextWriter htmlw = new HtmlTextWriter(swr);
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string strLL = System.Text.Encoding.UTF8.GetString(ms.ToArray());
Response.Write(strLL);
Response.Redirect(Request.Url.AbsoluteUri.Replace("aspx","htm"), true);
}
}
然后在需要生成静态页面的页面中继承就可以了。
但是要是页面的Request.Url.AbsolutePath传值的话就有问题了。
就是www.qdkinetic.com?id=1.
有人可以帮忙解决一下么。
如果解决了是不是又遇到了每打开一个id=几的页面就会建立一个html文件。(这些带传值的主要是一些每天都要添加的问题和资料信息)去www.qdkinetic.com就可以看到。
public class BasePage: System.Web.UI.Page
{
public BasePage()
{
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
string name=Request.Url.AbsolutePath.Substring(1,Request.Url.AbsolutePath.Length-1).Replace("aspx","htm");
string newurl="";
if(name.IndexOf("/")>0)
{
newurl=Server.MapPath("../") + name;
}
else
{
newurl=Server.MapPath("./") + name;
}
MemoryStream ms = new MemoryStream();
StreamWriter sww = new StreamWriter(ms);
StreamWriter swr = new StreamWriter(newurl);
System.Web.UI.HtmlTextWriter htmlw = new HtmlTextWriter(swr);
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string strLL = System.Text.Encoding.UTF8.GetString(ms.ToArray());
Response.Write(strLL);
Response.Redirect(Request.Url.AbsoluteUri.Replace("aspx","htm"), true);
}
}
然后在需要生成静态页面的页面中继承就可以了。
但是要是页面的Request.Url.AbsolutePath传值的话就有问题了。
就是www.qdkinetic.com?id=1.
有人可以帮忙解决一下么。
如果解决了是不是又遇到了每打开一个id=几的页面就会建立一个html文件。(这些带传值的主要是一些每天都要添加的问题和资料信息)去www.qdkinetic.com就可以看到。
每打开一个id=几的页面就会建立一个html文件===》成立
但是这样会对空间造成压力
不想让他生成那么多的静态页面