【发布时间】:2010-09-29 23:55:31
【问题描述】:
所以,这就是我们想要做的:我们希望有一个通用的 Web 部件,其周围有一个自定义框架,然后在其中动态加载其他 Web 部件(无框架)。你认为这可能吗?有点像Jan Tielens SmartPart,只是不适用于 ASP.Net 用户控件,而是用于其他 Web 部件...;)
编辑:我们现在已经能够做到这一点。解决方案实际上非常简单。查看代码:
public class WebPartWrapper : System.Web.UI.WebControls.WebParts.WebPart {
protected override void CreateChildControls() {
Panel pnl = new Panel();
this.Controls.Add(pnl);
WebPart dynamicPart = WebPartFactory.CreateWebPart("RSSViewer");
pnl.Controls.Add(dynamicPart);
}
}
就这么简单...我们还使用反射将 webparts 存储为 Xml 等,但这不是重点。
【问题讨论】:
-
这适用于简单的 Web 部件,但它适用于利用 Web 部件特定事物(如消费者/生产者等)的事物吗?
-
您说的是连接,对吗?我想是的,这只是设置正确的属性值的问题。但我没试过这个......
-
您是否尝试过以这种方式加载内容编辑器 Web 部件?当我实例化一个时,即使在为 web 部件设置了存储密钥 Internal 之后,它似乎也无法使用......
-
不,抱歉从未尝试过。可能对它有一些特殊要求。我建议您使用 Reflector 来查看在 SharePoint 实例化期间是否发生了任何特殊情况。
标签: sharepoint web-parts