`
yangshen998
  • 浏览: 1244717 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

左直拳

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

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

这时跟缓存有冲突吗?

伟大的微软告诉我们,可以在控件缓存设置中声明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时,就各自获得一份缓存,并且按照不同的要求,表现出不同的样式和动作。

分享到:
评论

相关推荐

    ASP.NET.4揭秘 卷2

    n434 以编程方式处理用户控件缓存 n435 创建用户控件缓存的文件依赖 n436 缓存动态载入的用户控件 n44 使用数据源缓存 n441 使用绝对缓存过期策略 n442 使用弹性缓存过期策略 n443 使用ObjectDataSource控件缓存 n...

    ASP.NET 4中的可扩展输出缓存(可以缓存页面/控件等)

    输出缓存的前世今生 ASP.NET 1.0引入输出缓存的概念,这使得开发者可以缓存页面、控件、控制器以及HTTP响应的输出到内存中。在后续的Web请求,ASP.NET就可以使用缓存中的内容更快响应。 ASP.NET的输出缓存系统足够...

    AutoImageSize ActiveX 控件

    然后在接下来的请求时,只要是同一幅图像且调整参数都已指定了,AutoImageSize只要再使用已经调整好大小的复制件就行可了。这也就是说你可以用更慢更高的质量滤波器,还支持多用户图像请求,因为你不需要对每次的...

    ASP.net技术内幕

    高级ASP.NET页面开发 &lt;br/&gt;第5章 用用户控件创建自定义控件 &lt;br/&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和方法 5.3 显露用户控件中的Web控件 5.4 显露用户控件中的事件 ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    asp.net技术内幕(1)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(2)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(5)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(4)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    asp.net技术内幕(3)

    4.3.3 使用HTMLInputFile控件接受文件上传 4.4 小结 &lt;br&gt;第二部分 高级ASP.NET页面开发 &lt;br&gt;第5章 用用户控件创建自定义控件 &lt;br&gt;5.1 用用户控件包含标准内容 5.2 显露用户控件中的属性和...

    ASP.NET3.5从入门到精通

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    ASP.NET 3.5 开发大全word课件

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    ASPNET35开发大全第一章

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    ASP.NET4高级程序设计(第4版) 3/3

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    ASP.NET2.0高级编程(第4版)1/6

    第23章 用户控件、服务器控件、  模块和HttpHandler789 23.1 用户控件789 23.1.1 创建用户控件790 23.1.2 与用户控件交互792 23.2 服务器控件794 23.2.1 项目的建立794 23.2.2 控件的属性798 23.2.3 控件的显示799 ...

    ASP.NET 3.5 开发大全11-15

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    ASP.NET 3.5 开发大全

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    ASP.NET 3.5 开发大全1-5

    6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    11.4 使用绑定的列表控件和数据源控件 324 11.4.1 GridView 325 11.4.2 编辑GridView中的数据行 333 11.4.3 删除GridView数据 337 11.4.4 DetailsView 339 11.4.5 使用DetailsView 插入、更新和删除数据 345 ...

Global site tag (gtag.js) - Google Analytics