C# @UserControl中的OutputCache问题

C# @UserControl中的OutputCache问题,c#,asp.net,C#,Asp.net,我有一个带有此OutputCache的用户控件: <%@ OutputCache Duration="86400" VaryByControl="LnkBtnTopVanzari" %> 其中,VaryByControl是链接按钮的id,用于切换更新面板中包含的多视图的活动视图 问题是,当我按下链接按钮时,页面会进行完整的回发,并且视图不会切换 如果我删除outputCache指令,所有的工作都很好(按下link按钮,通过ajax显示正确的视图) 你知道我错在哪里吗 谢谢。Va

我有一个带有此OutputCache的用户控件:

<%@ OutputCache Duration="86400" VaryByControl="LnkBtnTopVanzari" %>

其中,VaryByControl是链接按钮的id,用于切换更新面板中包含的多视图的活动视图

问题是,当我按下链接按钮时,页面会进行完整的回发,并且视图不会切换

如果我删除outputCache指令,所有的工作都很好(按下link按钮,通过ajax显示正确的视图)

你知道我错在哪里吗


谢谢。

VaryByControl参数用于根据您指定的控件值而变化。由于链接按钮的值始终相同,因此缓存不会发生变化

我相信这是为了用于控制,如下拉列表,它是可行的输出是不同的基础上选择的值在列表中


您可能希望尝试使用VaryByParam并将链接按钮更改为超链接,将视图指定为查询参数,或者尝试使用VaryByCustom。否则,您可能会将视图的内容拆分为单独的用户控件,这些控件本身会被输出缓存,将“多视图”和“链接”按钮保留在任何缓存之外。

尝试将enableeventvalidation设置为false。。或者可以尝试使用替换控件