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

            /// <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);
    上善若水 海纳百川
  • 相关阅读:
    jQuery动态效果学习笔记
    jQuery HTML操作学习笔记
    学习编程有必要做笔记吗?
    2017阿里巴巴面试技术挑战赛试题泄露
    来自IOS开发工程师的零基础自学HTML5经验分享
    前端学习笔记之HTML DOM操作
    web前端攻城狮整理的收藏夹
    WEB前端开发初学者必看的学习路线(附思维导图)
    搜狗员工用百度算什么,谷歌员工当着老板的面用bing,结果悲剧了!
    常用站长工具软件汇总,有没有一款你在用?
  • 原文地址:https://www.cnblogs.com/NetUser/p/2637544.html
Copyright © 2011-2022 走看看