用参数来控制用户控件的缓存

原创 2007年09月30日 17:43:00

用参数来控制用户控件的缓存

左直拳

 

 

用户控件有个好处就是可以利用缓存,在不实施缓存的页面中实现部分缓存。

 

可是有时候同一个用户控件,放在不同的页面,又需要它可以表现出不同的样式,或提供不同的功能。

 

这时跟缓存有冲突吗?

 

伟大的微软告诉我们,可以在控件缓存设置中声明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

    {

        get

        {

            return txtCssStyle.Value;

        }

        set

        {

            txtCssStyle.Value = (value == "2") ? "2" : "";

        }

    }

#endregion

 

 

调用页面1

<uc2:DirectShow ID="DirectShow1" runat="server" CssStyle="1" />

调用页面2

<uc2:DirectShow ID="DirectShow1" runat="server" CssStyle="2" />

 

这样在第一次打开页面1和页面2时,就各自获得一份缓存,并且按照不同的要求,表现出不同的样式和动作。

 
版权声明:本文为博主原屙文章,喜欢你就担走。

相关文章推荐

带参数的用户控件设计

  • 2010-03-24 14:05
  • 38KB
  • 下载

ASP.Net 更新页面输出缓存的几种方法(包括用户控件,iframe,页面缓存等)

ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟。如何快速更新缓存数据,有时成了困扰程序员的难题。根据我的使用经验,总结了下面几种方法,概括了...
  • wumiju
  • wumiju
  • 2012-01-11 17:48
  • 1052

Asp.net 权限控制 利用用户控件include到页面

为了使用户能够根据需要方便地定义控件,ASP.NET引入了 Web 窗体用户控件的概念。实际上,只要将.aspx稍作修改即可转换为 Web 用户控件,扩展名为 .ascx,.ascx和.aspx文件一...

.NET(用户自定义控件实现权限控制)

编写程序的时候,经常需要用的项目根目录。总结如下  取得控制台应用程序的根目录方法      方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整...

Asp.net 权限控制 利用用户控件include到页面

转http://www.cnblogs.com/YoursLan/archive/2010/10/08/1845698.html 引言     电子商务系统对安全问题有较高的要求,传统的访...

iOS-控件响应用户控制事件之事件处理

原文  http://www.cnblogs.com/ShaoYinling/p/4639643.html    事件处理  响应者对象  在iOS中不是任何对象都能处理事...

根据条件控制参数控件是否显示(可用)

在用报表工具设计报表时,使用参数控件时,有时我们希望部分参数控件在没满足条件时不显示,满足条件后再显示,接下来我就来教教大家怎么做!
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)