这是我在论坛上提的问题,后来自己解决了,请大家来鉴定一下。
问题1:在asp中,可以用include引入其他文件作为公用的代码,例如我想每个页面都有response.buffer=true,Response.Expires = 0等等,我就可以把这几行写在一个单独的文件中,让每个页面都include这个文件,在asp.net 2.0中有什么好的办法实现?用Page类继承可以做到吗?
问题2:当前燃眉之急,我想禁用应用程序的页面缓存,却又不想在每个页面都加上Response.Cache.SetExpires(DateTime.Now),在web.config中怎样写?或者有其他更好的方法?
//基本页类
public class PageBase : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
this.SetResponse();
}
protected void SetResponse()
{
Response.BufferOutput = true;
Response.Cache.SetNoStore();
}
}
//权限页类
public class PagePopedom : PageBase
{
protected void Page_Init(object sender, EventArgs e)
{
this.SetResponse();
this.CheckPopedom();
}
protected void CheckPopedom()
{
//检查权限代码
}
}
//最终页面
public partial class Manage_EditJob : PagePopedom
{
//页面代码
}
这样写的话,如果不需要检查权限的页面就可以继承PageBase类,需要检查权限就继承PagePopedom类,不管继承哪个类,都可以实现禁用客户端页面缓存等工作了。