我打過電話UC_Test一個asp.net用戶控件已經暴露了公共財產稱爲param1.It在aspx頁面託管型和B用戶控制的不同實例如何緩存取決於屬性值
在頁面A上,參數1設置爲10,頁面B上參數1設置爲20. 根據參數值,控制用戶控件的格式。
我希望頁面A和頁面B緩存分離用戶控件的實例。
由於okw指出,我想使用緩存出於性能原因,而不是持久values.Please讓我知道我如何實現這一點。
我可以使用Shared = false來達到這個目的嗎?例如?
感謝您的閱讀。
我打過電話UC_Test一個asp.net用戶控件已經暴露了公共財產稱爲param1.It在aspx頁面託管型和B用戶控制的不同實例如何緩存取決於屬性值
在頁面A上,參數1設置爲10,頁面B上參數1設置爲20. 根據參數值,控制用戶控件的格式。
我希望頁面A和頁面B緩存分離用戶控件的實例。
由於okw指出,我想使用緩存出於性能原因,而不是持久values.Please讓我知道我如何實現這一點。
我可以使用Shared = false來達到這個目的嗎?例如?
感謝您的閱讀。
這聽起來像是VaryByCustom輸出緩存指令的理想候選者。您可以使用您的屬性值來確定緩存版本之間的差異。
查看MSDN瞭解全部細節:http://msdn.microsoft.com/en-us/library/ms550239.aspx
最直接的方法是使用一個HiddenField來保存適當的值。在表單提交或回傳呼叫期間從頁面讀回它。
你可以這樣做:
public int MyProperty
{
get
{
return (int)ViewState[this.UniqueID + "_MyProperty"];
}
set
{
ViewState[this.UniqueID + "_MyProperty"] = value;
}
}
的ViewState在這種情況下是可以互換使用HttpContext.Current.Cache或HttpContext.Current.Session。你只需要確保檢查是否有空值。
希望它有幫助。
你的「緩存」的目的是與性能相關的或用於存儲值的目的是什麼? – 2009-10-10 06:16:56