方法:常用的做法是“緩存後替換”:就是將整個頁面緩存,然後替換頁面中不需要緩存的部分,緩存後替換主要通過使用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)