加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在ASP.NET中缓存用户控件?

发布时间:2020-12-15 04:30:22 所属栏目:百科 来源:网络整理
导读:我在我的应用程序“header.ascx”中创建了一个用户控件,我将一个selectedMenu属性设置为此控件,控件在该控件上选择指定的selectedMenu值.假设,我已经通过了值“home”或“search”,那么它将选择(突出显示)搜索菜单. 我想缓存这个控件,当selectedMenu属性的值
我在我的应用程序“header.ascx”中创建了一个用户控件,我将一个selectedMenu属性设置为此控件,控件在该控件上选择指定的selectedMenu值.假设,我已经通过了值“home”或“search”,那么它将选择(突出显示)搜索菜单.

我想缓存这个控件,当selectedMenu属性的值发生变化时,只刷新缓存,否则它应该从缓存中获取控件?

是否可以在asp.net中缓存用户控件?我使用的是ASP.NET 2.0(C#)

解决方法

ASP.NET中的用户控件缓存称为 fragment caching.它是通过在页面顶部添加一个OutputCache指令来完成的:

您无法通过在控件上设置属性来更改缓存,因为如果在缓存中找到控件,则实际上不会创建控件.如果您尝试在其缓存后面的代码中访问该控件,则它将为null.

判断是否应该缓存控件的条件是否可以通过查看当前请求来确定?如果是,则可以使用输出缓存指令的varybycustom属性(http://msdn.microsoft.com/en-us/library/system.web.ui.partialcachingattribute.varybycustom.aspx).你可以把你想要的任何字符串作为参数,然后在评估缓存时,将调用GetVaryByCustomString() method from Global.asxa,你可以设置是否应该缓存控件的逻辑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读