代码之家  ›  专栏  ›  技术社区  ›  Chris Marisic

以编程方式设置页面输出缓存varybycustom值

  •  7
  • Chris Marisic  · 技术社区  · 14 年前

    我想为我将支持的varybycustom参数类型使用枚举值,可以这样做吗?

    我试着在页面中设置它

    <%@ OutputCache Duration="600" VaryByParam="none" 
                VaryByCustom='<%=VaryByCustomType.IsAuthenticated.ToString(); %>' %>
    

    但它返回了整个文本字符串 "<%=VaryByCustomType.IsAuthenticated.ToString(); %>" 在我的 global.asax 有什么方法可以在页面上或者从代码隐藏中做到这一点吗?或者这仅仅是我必须接受的一个纯粹的魔术字符串,而我无法为它添加类型安全性?

    1 回复  |  直到 14 年前
        1
  •  8
  •   David Ebbo    14 年前

    不要使用@outputcache指令,而是尝试使用页面中的代码。例如

    void Page_Init() {
        var outputCacheSettings = new OutputCacheParameters() {
            Duration = 600,
            VaryByCustom = VaryByCustomType.IsAuthenticated.ToString()
        };
        InitOutputCache(outputCacheSettings); 
    }