在运行时加载的缓存控件

时间:2014-03-20 10:12:34

标签: c# loadcontrol

我的问题类似于Access to PartialCachingControl.CachedControl before Add it,但由于我无法在设置控件属性之前将控件添加到页面,但仍然存在问题

我有一个UserControl,其中包含一个名为“Content”的公共属性,我想缓存它。在UserControl上添加了:

<%@ OutputCache Duration="60" VaryByParam="none"  %>

在添加用于加载控件的缓存属性之前

 public static Control DocumentWidget (System.Web.UI.Page currentPage, Comito.LokalPortalen.Domain.Entity.CMS.Content.Content content)
 {
    Comito.LokalPortalen.FrontEndShared.Controls.Document.Widget documentWidget = (FrontEndShared.Controls.Document.Widget)currentPage.LoadControl("/FrontEndShared/Controls/Document/Widget.ascx");
    if (documentWidget != null)
     {
        documentWidget.Content = content;
        return documentWidget;
     }
        return null;
}

我现在想做点什么:

PartialCachingControl documentWidget = (PartialCachingControl)currentPage.LoadControl("/FrontEndShared/Controls/Document/Widget.ascx");
if (documentWidget != null)
{
    System.Reflection.PropertyInfo cmsContent = documentWidget.GetType().GetProperty("Content");
    documentWidget.Content = content;
    return documentWidget;
}

哪个失败,“PartialCachingControl不包含”内容“的定义

或者像Access to PartialCachingControl.CachedControl before Add it中假设的解决方案,但由于我无法在设置属性之前添加控件,因此无效。

任何解决方案

0 个答案:

没有答案