中甲

Asp.Net中动态页面转静态页面_0

2019-10-16 22:43:10来源:励志吧0次阅读

关于在Asp.Net中动态页面转静态页面的方法网上比较多。结合实际的需求,我在网上找了一些源代码,并作修改。现在把修改后的代码以及说明写一下。  一个是一个页面转换的类,该类通过静态函数Changfile()来实现,动态页面到静态页面的转换。   usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Text;

usingSystem.IO;

/**////

///SummarydescriptionforHtmlProxy

///

publicclassHtmlProxy

...{

publicHtmlProxy()

...{

}

publicstaticboolChangeFile(intid)

...{

stringfilename=HttpContext.Current.Server.MapPath("Post_"+id+".html");  //尝试读取已有文件   Streamst=GetFileStream(filename);

//如果文件存在并且读取成功

if(st!=null)

...{

using(st)

...{

StreamToStream(st,HttpContext.Current.Response.OutputStream);

returntrue;

//Response.End();

}

}

else

...{

StringWritersw=newStringWriter();

HttpContext.Current.Server.Execute("ForumDetail.aspx?PID="+id,sw);

stringcontent=sw.ToString();  //写进文件

try

...{

using(FileStreamfs=newFileStream(filename,FileMode.Create,FileAccess.Write,FileShare.Write))

...{

using(StreamWriterstw=newStreamWriter(fs,HttpContext.Current.Response.ContentEncoding))

...{

stw.Write(content);

}

}

returntrue;

}

catch...{returnfalse;}

}

}

privatestaticStreamGetFileStream(stringfilename)

...{

try

...{

DateTimedt=File.GetLastWriteTime(filename);

TimeSpants=dt-DateTime.Now;

if(ts.TotalHours>1)

...{

//一小时后过期

returnnull;

}

returnnewFileStream(filename,FileMode.Open,FileAccess.Read,FileShare.Read);

}

catch...{returnnull;}

}

staticpublicvoidStreamToStream(Streamsrc,Streamdst)

...{

byte[]buf=newbyte[4096];

while(true)

...{

intc=src.Read(buf,0,buf.Length);

if(c==0)

return;

dst.Write(buf,0,c);

}

}

}

在页面文件中,ForURL.aspx的后台代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

...{

try

...{

intid=int.Parse(Request.QueryString["PID"]);

if(HtmlProxy.ChangeFile(id))

...{

Response.Redirect("Post_"+id+".html");

}

else

...{

Response.Redirect("Post.aspx?PID="+id);

}

}

catch...{

}

}

巴中整形美容手术
阜新治疗癫痫病医院
周口治疗龟头炎方法
荆州牛皮癣医院
眉山牛皮癣治疗方法
分享到: