我有一个UserControl,它只能根据2个URL参数进行更改。
问题是,它有一个公共属性,在调用页面中使用,所以它会在我的属性上抛出NullReferenceException
。
有什么想法吗?
答案 0 :(得分:0)
检查VaryBy选项, 试着看看这篇文章:
http://msdn.microsoft.com/en-us/library/hdxfb6cy%28v=vs.71%29.aspx
答案 1 :(得分:0)
我想我已经把这个问题弄清楚了,这似乎很棘手,这是因为我对输出缓存的工作方式缺乏全面的了解,我怀疑。
如果UserControl
具有指定其内容的变量属性,则无法对其进行缓存。您需要在包含控件的“内容”页面中放置缓存控件。然后将缓存添加到内容页面:
<%@ OutputCache Duration="120" VaryByControl="JobList" %>
通过控制而变化的是您希望缓存的控件的ID。然后指定一个属性因控件而异:
<%@ OutputCache Duration="120" VaryByControl="JobList.LoggedInUserID" %>
这似乎对我有用!