如何在asp.net的userControl中使用OutputCache
我有一个aspx页面,其中有一段代码用于加载从数据库加载的usercontrol如何在asp.net的userControl中使用OutputCache,asp.net,user-controls,outputcache,dynamic-usercontrols,Asp.net,User Controls,Outputcache,Dynamic Usercontrols,我有一个aspx页面,其中有一段代码用于加载从数据库加载的usercontrol Control userControl = new Control(); userControl = LoadControl(userControlName); ((HiddenField)userControl.FindControl("HiddenFieldCategoryID")).Value = categoryID.ToString(); ((HiddenField)userControl.Find
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 Duration=10 VaryByParam="none" %>
当我浏览网页时
这个错误出现了
[NullReferenceException:对象
引用未设置为的实例
反对。]
内容\u部分新闻。页面\u加载(对象
c:\Documents中的发件人、事件参数(e)
和设置\Administrator\My
文档\ Visual Studio
2005\Projects\AnaweenNews.root\AnaweenNews\anaween
website\Content\SectionNews.aspx.cs:127
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr
fp、对象o、对象t、事件参数e)
+14 System.Web.Util.CallEventHandlerDelegateProxy.Callback(对象
发送方,事件参数e)+35
System.Web.UI.Control.OnLoad(EventArgs
e) +99
System.Web.UI.Control.LoadRecursive()
+50 System.Web.UI.Page.ProcessRequestMain(布尔值
includeStagesBeforeAsyncPoint,布尔值
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();
}
可能重复的