zoukankan      html  css  js  c++  java
  • SharePoint 使用对象模型操作页面上的Web Part

    在WSS的开发中有时需要通过程序操作页面上的Web Part,比较添加,删除Web Part.此时可以使用 SPLimitedWebPartManager这个类,代码如下:

            //添加Web Part

            string AbsolutePageUrl = "http://YourSite/Page.aspx";
            using (SPSite site = new SPSite(AbsolutePageUrl))
            {
                using (SPWeb web = site.OpenWeb(AbsolutePageUrl))
                {
                    SPLimitedWebPartManager SpWebPartManger = web.GetLimitedWebPartManager(AbsolutePageUrl,
                    System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

                    // if MyWebPart is already installed, leave! 
                    foreach (var webpart in SpWebPartManger.WebParts)
                    {
                        if (webpart is MyWebPart)
                            return;
                    }
                    // else add it in the bottom! 
                    SpWebPartManger.AddWebPart(new MyWebPart(), "Main", 10);
                    SpWebPartManger.Dispose();

                }
            }

            //删除Web Part
            string AbsolutePageUrl = "http://YourSite/Page.aspx";
            using (SPSite site = new SPSite(AbsolutePageUrl))
            {
                using (SPWeb web = site.OpenWeb(AbsolutePageUrl))
                {
                    SPLimitedWebPartManager SpWebPartManger = web.GetLimitedWebPartManager(AbsolutePageUrl,
                    System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

                    WebPart webPartToDelete = null;
                    // let's locate the webpart first.... 
                    foreach (WebPart webpart in SpWebPartMaanger.WebParts)
                    {
                        if (webpart is MyWebPart)
                        {
                            webPartToDelete = webpart;
                            break;
                        }
                    }

                    if (webPartToDelete != null)
                        SpWebPartManger.DeleteWebPart(webPartToDelete);
                    SpWebPartManger.Dispose();

                }
            }

    可参考:Add or Remove WebParts into SharePoint 2007 on runtime using SPLimitedWebPartManager

               How to create Web Part instances on pages using Features - FeatureReceiver - SPLimitedWebPartManager

    Content Query Web Part的RSS Feed的URL格如下:

    http://servername/_layouts/feed.aspx?xsl=registered .xsl files in the Web.config file&web=webaddress&page=guid&wp=guid.

    wp=guid中的这个guid是指Content Query Web Part的ID,但是它并非是WebPart.UniqueId而是要通过SPLimitedWebPartManager.GetStorageKey()这个方法获取

    可参考: _layouts/feed.aspx querystring "wp" id - what is it?

  • 相关阅读:
    RWCString 定义 memeroy leak
    打开eclipse报错
    Eclipse 增加php插件
    Shell 字符串的截取
    【转载】Shell判断字符串包含关系的几种方法
    Shell $? $* $@ 等含义
    Shell 获取指定行的内容
    概念性进程
    网络编程
    模块详解
  • 原文地址:https://www.cnblogs.com/ITHelper/p/1867605.html
Copyright © 2011-2022 走看看