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);
    上善若水 海纳百川
  • 相关阅读:
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1041:奇偶数判断
    1040:输出绝对值
    1040:输出绝对值
    1040:输出绝对值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1039:判断数正负
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1039:判断数正负
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1039:判断数正负
    Winform应用程序实现通用遮罩层
    SQL WITH子句、分析函数
    SQL WITH子句、分析函数
  • 原文地址:https://www.cnblogs.com/NetUser/p/2637544.html
Copyright © 2011-2022 走看看