使用DropDownList和VaryByControl缓存问题

时间:2009-07-01 22:13:06

标签: c# asp.net caching outputcache

我有一个只有一个下拉列表的页面。根据用户在此下拉列表中选择的内容,将生成一个非常大的报告。该页面的缓存指令为:

<%@ OutputCache Duration="14400" VaryByParam="none" VaryByControl="lstUsers" %>

下拉列表定义为:

<asp:DropDownList ID="lstUsers" runat="server" AutoPostBack="true" 
            onselectedindexchanged="lstUsers_SelectedIndexChanged" />

代码隐藏:

if (lstPartners.SelectedValue != "")
{
PanelChoose.Visible = false;
PanelInfo.Visible = true;

GetReport();
}

现在,当我第一次选择用户时,报告生成正常。如果我返回并选择另一个,则会再次显示第一个用户的报告...

我做错了什么?我正在使用带有Service Pack 1的.NET Framework 3.5。

谢谢, 吉姆

1 个答案:

答案 0 :(得分:4)

您使用的是主页/内容页吗?

OutputCache VaryByControl无法正常处理内容页面。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=465461