方法:常用的做法是“缓存后替换”:就是将整个页面缓存,然后替换页面中不需要缓存的部分,缓存后替换主要通过使用Substitution控件实现,Substitution控件可以用来替换缓存页面需要更新的部分
使用Substitution注意点
<</span>asp:Substitution ID="Substitution1" runat="server" MethodName="GetNum" />
这里的MehodName是用来调用后台的方法,这里的GetNum为后台方法,如下:
这里需要注意,这个被调用的方法必须满足:
1.必须是静态方法
2.返回类型必须是string
3.类型参数必须是HttpContext
这样设置以后,就算在页面中进行了缓存设置:
<%@ OutputCache Duration="15" VaryByParam="none" %>
对数据库的更新也会即时反馈到Substitution控件中
比如下面的例子:
aspx代码:
这里的Label用来接收其他列,而Substitution用来接收unitprice列
后置代码:
页面显示:
之后对数据库的直接更新,只有最后一行的价格会即时更新,而其他的则受缓存的影响,
这样就实现了局部缓存的效果
通过代码引入自定义控件
protected void Page_Load(object sender, EventArgs e)
{
var control=this.LoadControl("WebUserControl.ascx");//使用代码方式增加用户控件
this.ph1.Controls.Add(control);
}
- (2012-11-04 15:24:25)