在ASP.NET中获取缓存控件

在ASP.NET中获取缓存控件,asp.net,caching,webforms,outputcache,web-controls,Asp.net,Caching,Webforms,Outputcache,Web Controls,我在ASP.NET网络控制中使用以下功能: <%@ OutputCache Duration="86400" VaryByParam="none" %> 但是,它将在else中引发以下异常: 文件“/Bradspel/sites/MySite/community/topGames\u Mini1”不存在 存在 您最好将UserControl放在控件中。然后根据您的条件隐藏/显示占位符 占位符本身不呈现任何标记,因此没有外部HTML标记的开销 我想您一定已经在母版页中注册了UserC

我在ASP.NET网络控制中使用以下功能:

<%@ OutputCache Duration="86400" VaryByParam="none" %>
但是,它将在else中引发以下异常:

文件“/Bradspel/sites/MySite/community/topGames\u Mini1”不存在 存在


您最好将UserControl放在控件中。然后根据您的条件隐藏/显示占位符

占位符本身不呈现任何标记,因此没有外部HTML标记的开销

我想您一定已经在母版页中注册了UserControl。因此,现在将userControl放置在占位符控件中

<asp:ContentPlaceHolder ID="MainContent" runat="server"><!-- Of Master Page -->
             <asp:PlaceHolder ID="place1" runat="server">
                  <uc1:Test ID="Test1" runat="server" /><!-- Our User Control-->
             </asp:PlaceHolder>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="MainContent" runat="server"><!-- Of Master Page -->
             <asp:PlaceHolder ID="place1" runat="server">
                  <uc1:Test ID="Test1" runat="server" /><!-- Our User Control-->
             </asp:PlaceHolder>
</asp:ContentPlaceHolder>
protected void Page_Load(object sender, EventArgs e)
    {
      if( _Some_Condition_)
       place1.Visible = true; 
      else
      // Hide PlaceHolder and thus all controls inside it
       place1.Visible = false; 

    }