0

我想知道是否有办法更新所有站点主页以显示新的自定义 Web 部件。

我有一个包含 100 多个子网站的网站集,并且我创建了一个自定义 Web 部件,我想在所有网站主页中显示它。你建议最好的方法是什么,因为手动执行此操作需要相当多的时间时间?!

4

1 回答 1

0

首先编写代码以编程方式将 Web 部件添加到单个主页。具体如何执行此操作将根据您的主页的结构方式、是否为发布页面等而有所不同。这很可能,但实现可能会有所不同。你可能会使用类似的东西:

using(SPSite site = new SPSite("http://localhost"))
using(SPWeb web = site.RootWeb)
{
    web.AllowUnsafeUpdates = true;
    SPLimitedWebPartManager webParts = web.GetLimitedWebPartManager("Pagees/Home.aspx"
        , System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

    MyWebPart wp = new MyWebPart();      // your custom webpart
    wp.Title = "My WebPart";

    webParts.AddWebPart(wp, "Left", 0);
    webParts.SaveChanges(wp);
}

在线搜索主题时有很多变化。

一旦你有了它,你可以创建一个控制台应用程序或一个要在顶级站点上执行的功能,打开每个子站点,然后执行上面的代码。

于 2012-11-27T15:11:00.190 回答