如何在asp.net中的userControl中使用OutputCache

我有一个aspx页面,其中包含这段代码来加载从数据库加载的usercontrol
Control userControl = new Control();

userControl = LoadControl(userControlName);

((HiddenField)userControl.FindControl("HiddenFieldCategoryID")).Value = categoryID.ToString();

((HiddenField)userControl.FindControl("HiddenFieldNewsID")).Value = newsID.ToString();

((HiddenField)userControl.FindControl("HiddenFieldTypeID")).Value = typeID.ToString();

PlaceHolder3.Controls.Add(userControl);
并且ascx有一个outputcache
<%@ OutputCache Duration=10 VaryByParam="none" %>
当我浏览页面时 这个错误出来了   [NullReferenceException:Object   引用未设置为的实例   宾语。]   Content_SectionNews.Page_Load(对象   发件人,EventArgs e)在c: Documents中   和设置管理员我的   Documents Visual Studio   2005 项目 AnaweenNews.root AnaweenNews anaween   网站内容 SectionNews.aspx.cs:127   错误帮助(IntPtr的   fp,Object o,Object t,EventArgs e)   +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object   发件人,EventArgs e)+35   System.Web.UI.Control.OnLoad(EventArgs的   e)+99   System.Web.UI.Control.LoadRecursive()   +50 System.Web.UI.Page.ProcessRequestMain(布尔值   includeStagesBeforeAsyncPoint,Boolean   includeStagesAfterAsyncPoint)+627      版本信息:Microsoft .NET   框架版本:2.0.50727.3615;   ASP.NET版本:2.0.50727.3618     
已邀请:
从LoadControl返回的类型将是PartialCachingControl,请按照如何使用PartialCachingControl的步骤进行操作:
PartialCachingControl userControl = LoadControl(userControlName) as PartialCachingControl;

PlaceHolder3.Controls.Add(userControl);

if(userControl.CachedControl != null)
{
    ((HiddenField)userControl.CachedControl.FindControl("HiddenFieldCategoryID")).Value = categoryID.ToString();    

    ((HiddenField)userControl.CachedControl.FindControl("HiddenFieldNewsID")).Value = newsID.ToString();

    ((HiddenField)userControl.CachedControl.FindControl("HiddenFieldTypeID")).Value = typeID.ToString();
}
    

要回复问题请先登录注册