用引數來控制使用者控制項的快取

2021-08-22 11:19:23 字數 1306 閱讀 8845

用引數來控制使用者控制項的快取

左直拳

使用者控制項有個好處就是可以利用快取,在不實施快取的頁面中實現部分快取。

可是有時候同乙個使用者控制項,放在不同的頁面,又需要它可以表現出不同的樣式,或提供不同的功能。

這時跟快取有衝突嗎?

偉大的微軟告訴我們,可以在控制項快取設定中宣告

varybycontrol

或varybyparam。

varybyparam

我還沒用過,估計就是根據包含該控制項的頁面中指定的引數值,如

?f=1&u=0

之類,針對不同值,快取不同的版本。

我用的是

varybycontrol

,在控制項內或包含該控制項的頁面內放置乙個其他控制項,如文字框(textbox),

varybycontrol=

「該控制項的id」,這樣這個控制項的值不同,使用者控制項的快取就不同。

然而直接訪問使用者控制項內部的控制項是不方便的,或者也不嚴謹。可以在使用者控制項內設定乙個屬性,通過該屬性來間接訪問和控制該控制項。如:

頁面:<%

@outputcache

duration

="1800"

varybycontrol

="txtcssstyle"

shared

="true"

%>……

<

input

type

="hidden"

id="txtcssstyle"

runat

="server"

value

=""/>

……<%

if (cssstyle != "2")

else%>

**:#region

屬性public

string cssstyle

set}

#endregion

呼叫頁面1:

<

uc2:

directshow

id="directshow1"

runat

="server"

cssstyle

="1"

/>

呼叫頁面2:

<

uc2:

directshow

id="directshow1"

runat

="server"

cssstyle

="2"

/>

這樣在第一次開啟頁面1和頁面2時,就各自獲得乙份快取,並且按照不同的要求,表現出不同的樣式和動作。

用引數來控制使用者控制項的快取

用引數來控制使用者控制項的快取 左直拳 使用者控制項有個好處就是可以利用快取,在不實施快取的頁面中實現部分快取。可是有時候同乙個使用者控制項,放在不同的頁面,又需要它可以表現出不同的樣式,或提供不同的功能。這時跟快取有衝突嗎?偉大的微軟告訴我們,可以在控制項快取設定中宣告 varybycontrol...

用PHP控制使用者瀏覽器快取!

你寫的php程式是否高效?你是否會擔心自己的程式太龐雜,執行速度很慢?你是否用過php動態生成?其實每種瀏覽器都有快取策略,會暫時將每乙個瀏覽過的檔案快取在乙個特殊的資料夾裡。我們就可以在使用者重複提交頁面請求的時候,告訴使用者這個頁面沒有改變,可以呼叫快取。那我們怎麼知道使用者有沒有這個頁面的快取...

如何為使用者控制項增加自定義引數快取

路人甲 我有好幾個ascx,它們所生成的頁面要依賴於某乙個session變數,即session不同,生成的頁面也不同,這個session變數共有6種值,請問如何為這種ascx加上快取呢?truly 請看 ascx上增加自定義快取引數 outputcache duration 30 varybypar...