zoukankan      html  css  js  c++  java
  • 场解决方案添加webpart(Create Webpart to page using code)

    转:http://www.soaspx.com/dotnet/asp.net/tech/tech_20120814_9489.html

    /// <summary>
            /// 向页面添加Webpart
           
    /// </summary>
            /// <param name="web">站点</param>
            /// <param name="pageUrl">页面地址</param>
            /// <param name="webPartName">Webpart名称</param>
            /// <param name="zoneID">WebPartZone的ID</param>
            /// <param name="zoneIndex">ZoneIndex</param>
            /// <param name="properties">字典类型的杂项名称和值</param>
            /// <returns></returns>
            public static string AddWebPartToPage(SPWeb web, string pageUrl, string webPartName, string zoneID, int zoneIndex, Dictionary<string, string> properties)
            {
               
    using (Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager = web.GetLimitedWebPartManager(
                       pageUrl, PersonalizationScope.Shared))
                {
                   
    using (WebPart webPart = CreateWebPart(web, webPartName, webPartManager))
                    {
                        Microsoft.SharePoint.WebPartPages.SPUserCodeWebPart codeWebPart
    = webPart.WebBrowsableObject as Microsoft.SharePoint.WebPartPages.SPUserCodeWebPart;

                       
    if (properties != null)
                        {
                           
    foreach (string key in properties.Keys)
                            {
                               
    foreach (Microsoft.SharePoint.WebPartPages.SPUserCodeProperty item in codeWebPart.Properties)
                                {
                                   
    if (item.Name == key)
                                    {
                                        item.Value
    = properties[key];
                                    }
                                }
                            }
                        }
                        webPart.ChromeType
    = PartChromeType.None;//设置部件版式类型  设置 无
                        webPartManager.AddWebPart(webPart, zoneID, zoneIndex);
                       
    return webPart.ID;
                    }
                }
            }

           
    public static WebPart CreateWebPart(SPWeb web, string webPartName, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
            {
                SPQuery qry
    = new SPQuery();
                qry.Query
    = String.Format("<Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='File'>{0}</Value></Eq></Where>", webPartName);
                SPList webPartGallery
    = null;
               
    if (null == web.ParentWeb)
                {
                    webPartGallery
    = web.GetCatalog(
                     SPListTemplateType.WebPartCatalog);
                }
               
    else
                {
                    webPartGallery
    = web.Site.RootWeb.GetCatalog(
                      SPListTemplateType.WebPartCatalog);
                }
                SPListItemCollection webParts
    = webPartGallery.GetItems(qry);
                XmlReader xmlReader
    = new XmlTextReader(webParts[0].File.OpenBinaryStream());
               
    string errorMsg;
                WebPart webPart
    = webPartManager.ImportWebPart(xmlReader, out errorMsg);
               
    return webPart;
            }

     

    调用

     

     Dictionary<string, string> properity = new Dictionary<string, string>();
                properity.Add(
    "CalendarURL", "/SystemSetting/Lists/EnterpriseCalendar/AllItems.aspx"); CommonUtil.AddWebPartToPage(systemWeb, "/SystemSetting/SitePages/CalendarView.aspx", "EnterpriseCalendarViewWebPart.webpart", "Left", 0, properity);

  • 相关阅读:
    计算机组成原理
    数据结构和算法: 字符串匹配(一) BF/RK
    数据结构和算法: 动态规划-台阶问题
    数据结构和算法: 散列表
    数据结构和算法: 归并排序/快速排序
    数据结构与算法: 冒泡/插入/选择排序
    过渡内容
    Redis 和缓存技术
    2019字节跳动面试时手撕代码题
    Mysql锁机制
  • 原文地址:https://www.cnblogs.com/jackljf/p/3588867.html
Copyright © 2011-2022 走看看