最近在做项目的过程中,遇到个问题,创建一个SharePoint站点,在站点首页(default.aspx)添加了几个列表WebPart(ListViewWebPart),WebPart选用了自定义的视图,并将列表WebPart工具栏类型设置成“没有工具栏”,整体的效果如下图:

 

问题总结(一)使用代码调整SharePoint WebPart 视图和列表菜单

接着将SharePoint站点另存成模板,然后基于此模板创建个新站点,结果新站点创建完成后,原来模板中首页WebPart所应用的视图和工具栏类型都恢复到默认的样子,如下图:

问题总结(一)使用代码调整SharePoint WebPart 视图和列表菜单

 

这样下来又要从头到尾的手动调整WebPart的样式,想想有些崩溃。这样的站点要通过程序创建200多个,手动调整起来只能吐血了。于是开始研究如何通过代码来完成调整的任务,让他创建完站点以后自动样式调整。基本的实现思路如下:

1、首先找到首页(default.aspx)的WebPart管理对象(SPLimitedWebPartManager).

2、用SPLimitedWebPartManager搞到页面里所有的WebPart。

3、过滤掉非列表WebPart(ListViewWebPart)。

4、剩下的开始逐一处理,先调整视图,在调整它的工具栏类型。

5、最后保存调整的结果。

实现的代码如下:

 

        }

 

搞个命令行程序测试一下:

 

 Program
    {
        static void Main(string[] args)

        {
            SPSite site 
= new SPSite("http://liust-server:100");
            SPWeb icmWeb 
= site.AllWebs["ITSImportanceCustomerManagement"];
            SPWeb customWeb 
= icmWeb.Webs["DKHWebTemplate"];
            Program p 
= new Program();
            p.ChangeWebPartLayout(customWeb);
            Console.Write(
"ok");
            Console.ReadKey();
        }
    }

 

至此,这个问题就搞定了,可以休息一下了。

相关文章:

  • 2021-12-03
  • 2022-12-23
  • 2021-06-02
  • 2021-12-08
  • 2021-06-24
  • 2021-12-25
  • 2021-12-25
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-18
  • 2022-02-06
  • 2021-08-31
  • 2021-08-06
  • 2022-12-23
相关资源
相似解决方案