我有一个用户控件,我希望使用输出缓存,但它使用了多次不同的数据。通过客户端ID控制usercontrol输出缓存
我想过使用VaryByCustom并尝试接收控件的ClientID,但一直未能找到方法。
有没有一种方法来输出缓存usercontrol根据ClientID,或另一种方式通过其在DOM中的位置来识别它?
更新: 我试图添加一个隐藏的字段并设置输出缓存。例如,我将隐藏字段的值设置为Datetime.Now,但仍显示相同的usercontrol,而不是两个内容不同的人。
<%@ OutputCache VaryByControl="hidMyField" Duration="120" %>
<asp:HiddenField runat="server" ID="hidMyField" Value="<%= Datetime.Now.ToString() %>"/>
我试图做什么说,但它没有工作(见更新的问题)。 – Dofs
@Dofs,请参阅我的编辑答案。 – VinayC
此解决方案似乎只适用于回发数据?我遇到了两次在页面上添加了相同控件的问题,但使用了不同的设置。如果控件是以正常方式添加的(),那不会有问题,但是我的控件是在LoadControl的循环中添加的,这使我陷入了asp中的一个错误。净。在此处查看更多信息和解决方法:http://devnet.kentico.com/Blogs/Martin-Hejtmanek/April-2009/How-to-dynamically-load-partially-cached-controls.aspx –
tommycode