如何从缓存的用户控件访问值?

时间:2012-12-13 12:31:59

标签: c# asp.net caching

有2个用户控件( Test1.ascx Test2.ascx )。 Test1.ascx包含Test2.ascx。

内部用户控件( Test2.ascx )html是:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test2.ascx.cs"
Inherits="Test.UserControls.Test2" %>

<%@ OutputCache Duration="200" VaryByParam="None" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<telerik:RadTreeView runat="server" ID="radTreeView" >
<DataBindings>
    <telerik:RadTreeNodeBinding Depth="0" CssClass="rootNode" />
</DataBindings>
</telerik:RadTreeView>

外部用户控件( Test1.ascx )html如下:

<div runat="server" id="divTreeViewContainer">
        <uc:ucTreeView runat="server" ID="ucTreeView" />
    </div>

首次请求页面时,两个用户控件都完美加载。 来自Test2.ascx的树视图由Test1.ascx中的FindControl()作为

访问
  //Find the tree view from the Test2.ascx user control
  var radTreeView = ucTreeView.FindControl("radTreeView") as RadTreeView;

从第二页请求开始(即在内部用户控件Test2.ascx被缓存之后) ucTreeView 将以 null 的形式出现。

要求: 需要缓存Test2.ascx用户控件,并使用Test1.ascx用户控件(缓存和非缓存条件)访问此用户控件的控件值。怎么做?

提前多多谢意。

0 个答案:

没有答案