zoukankan      html  css  js  c++  java
  • sharepoint 2010 使用程序向页面添加webpart

    如果是要使用自动化部署,将不会在需要手动在页面中添加 webpart,而是完全可以用程序来完成这些操作了。

    提供两个方法,用来添加webpart到页面上,其中需要注意的两个地方 是 webpart区域,区域一定是区域的 ID

    zoneIndex 是这个webpart的 摆放顺序,从上到下 1,2,3,4,5,6这样排列。

       1:   #region 添加webpart到页面
       2:          private string AddWebPartToPage(SPWeb web, string pageUrl, string webPartName, string zoneID, int zoneIndex)
       3:          {
       4:              using (SPLimitedWebPartManager webPartManager = web.GetLimitedWebPartManager(
       5:                      pageUrl, PersonalizationScope.Shared))
       6:              {
       7:                  using (System.Web.UI.WebControls.WebParts.WebPart webPart = CreateWebPart(web, webPartName, webPartManager))
       8:                  {
       9:                      SPLimitedWebPartCollection webParts = webPartManager.WebParts;
      10:                      webPartManager.AddWebPart(webPart, zoneID, zoneIndex);
      11:                      return webPart.ID;
      12:                  }
      13:              }
      14:   
      15:          }
      16:   
      17:          private System.Web.UI.WebControls.WebParts.WebPart CreateWebPart(SPWeb web, string webPartName, SPLimitedWebPartManager webPartManager)
      18:          {
      19:              SPQuery qry = new SPQuery();
      20:              qry.Query = String.Format(CultureInfo.CurrentCulture, "<Where><Eq><FieldRef Name=\"FileLeafRef\" /><Value Type=\"File\">{0}</Value></Eq></Where>", webPartName);
      21:   
      22:              SPList webPartGallery = null;
      23:   
      24:              if (null == web.ParentWeb)
      25:              {
      26:                  webPartGallery = web.GetCatalog(
      27:                     SPListTemplateType.WebPartCatalog);
      28:              }
      29:              else
      30:              {
      31:                  webPartGallery = web.Site.RootWeb.GetCatalog(
      32:                     SPListTemplateType.WebPartCatalog);
      33:              }
      34:   
      35:              SPListItemCollection webParts = webPartGallery.GetItems(qry);
      36:   
      37:              XmlReader xmlReader = new XmlTextReader(webParts[0].File.OpenBinaryStream());
      38:              string errorMsg;
      39:              System.Web.UI.WebControls.WebParts.WebPart webPart = webPartManager.ImportWebPart(xmlReader, out errorMsg);
      40:   
      41:              return webPart;
      42:          }
      43:          #endregion

    使用方法

       1:  AddWebPartToPage(oWeb, oList.DefaultViewUrl, “webpartname.webpart”, "Main", 1);
  • 相关阅读:
    机器学习-第四讲(模型升级)
    AI人脸匹对
    AI换脸
    人脸识别分析小Demo
    动态规划-线性DP&区间DP
    动态规划-背包问题
    数学知识-博弈论
    数学知识-组合数
    数学知识-扩展欧几里得
    数学知识-欧拉函数&快速幂
  • 原文地址:https://www.cnblogs.com/yunliang1028/p/2352798.html
Copyright © 2011-2022 走看看