如何在usercontrol中使用带有控件属性的outputcache

时间:2011-02-21 16:53:52

标签: asp.net caching user-controls outputcache

我有一个UserControl,它只能根据2个URL参数进行更改。

问题是,它有一个公共属性,在调用页面中使用,所以它会在我的属性上抛出NullReferenceException

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我想我已经把这个问题弄清楚了,这似乎很棘手,这是因为我对输出缓存的工作方式缺乏全面的了解,我怀疑。

如果UserControl具有指定其内容的变量属性,则无法对其进行缓存。您需要在包含控件的“内容”页面中放置缓存控件。然后将缓存添加到内容页面:

<%@ OutputCache Duration="120" VaryByControl="JobList" %>

通过控制而变化的是您希望缓存的控件的ID。然后指定一个属性因控件而异:

<%@ OutputCache Duration="120" VaryByControl="JobList.LoggedInUserID" %>

这似乎对我有用!