如何用编程方式实现创建一个页面并替换掉站点首页
用SharePoint Designer可以创建一个新页面, 并且指定这个页面为站点首页.
有个朋友问我, 她有几千个站点, 如果都要这么做, 怎么办?
于是我就写了下面的代码段来完成这个动作. 至于如何扩展到上千个站点, 读个配置文件也就可以了.
本代码已经过博主测试通过.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.SharePoint.Utilities; using System.IO;namespace QiaoluTest {class Program{static void Main(string[] args){try{using (SPSite osite = new SPSite("http://moss/sites/teamsite/")){using (SPWeb oweb = osite.RootWeb){// back up the original home pageSPFile defaultPage = oweb.Files["default.aspx"];defaultPage.MoveTo("default-old.aspx");// add components to the new custom default page here, if necessarystring newFilename = "CustomDefault.aspx";string templateFilename = "bpstd.aspx"; string hive = SPUtility.GetGenericSetupPath("TEMPLATE\\1033\\STS\\DOCTEMP\\BLANKPGS\\");FileStream stream = new FileStream(hive + templateFilename, FileMode.Open);SPFile newDefaultPage = oweb.Files.Add(newFilename, stream);// move the new default page to default.aspxnewDefaultPage.MoveTo("default.aspx");}}}catch (Exception ex){Console.WriteLine(ex.Message);}}} }
参考资料
===============
Create a blank webpart page programatically?
http://www.go4sharepoint.com/Forum/create-blank-webpart-page-17285.aspx
如何用编程方式实现创建一个页面并替换掉站点首页相关推荐
- 关于Maven中的常见命令,通过命令的方式快速创建一个空的maven工程,将jar包打到maven仓库中
打jar包的方式 mvn package -Dmaven.test.skip=true mvn install -Dmaven.test.skip=true mvn compile -Dmave ...
- (微信小程序)二 : 创建一个页面
首先先看一下pages的目录结构吧. 我创建了一个topics页面.3个文件全创建好了之后 我往topics.js添加数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- 创建一个发布型的空白站点
创建一个发布的空白站点当然可以直接创建默认的空白站点,再把发布的功能打开,也可以自定制一个空白的发布站点,步骤如下: 1. 打开C:\Program Files\Common Files\M ...
- blf文件用什么软件打开_如何用皕杰流程创建一个blf演示流程文件?
1. 打开BIOS Studio.exe报表流程设计器,新建项目,命名为演示流程项目: 2. 在项目下新建目录,命名为演示流程: 3. 在目录下新建工作流程bfl文件,流程名称leaveFlow,显示 ...
- Qt图形界面编程入门(创建一个简单的程序)
1,手工编码方式 利用手工编码方式建立"Hello Qt!"程序 第一步: 得到界面 2,无UI的向导方式 从图中,我们发现向导为窗口程序提供了3个基类,分别外QMainWindo ...
- .Net开发笔记(十九) 创建一个可以可视化设计的对象
阅读本篇博客之前需要了解VS窗体设计器的工作原理,详细可参见本系列博客(十).(十一).(十二).必须需要知道的一条结论就是:处于窗体设计器(Form Designer)中的任何组件(包含控件,下同) ...
- java按钮触发另一个页面_前端跨页面通信,你知道哪些方法?
戳蓝字「前端技术优选」关注我们哦! 引言 在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个"独立"的运行环境,即使是全局对象也不会在多个Tab间共享.然而有 ...
- 创建一个分布式网络爬虫的故事
原文:The Tale of Creating a Distributed Web Crawler 作者:Benoit Bernard 译者:roy 编者按:作者通过创建和扩展自己的分布式爬虫,介绍了 ...
- 如何创建一个网站?初学者的分步指南
在2020年,任何人都可以在不了解Web开发,设计或编码的情况下建立和设计网站. 无论您是想为自己还是为企业创建网站,都可以使用正确的工具和资源轻松地做到这一点. 本分步指南将帮助您从头开始创建网站, ...
- Spring 自定义注解使用案例 首先创建一个注解@interface
在Spring中使用自定义注解的本质就是使用Spring 的 AOP编程. 首先创建一个注解@interface import org.springframework.data.mongodb.cor ...
最新文章
- raid5通常需要几块盘_raid5需要几块硬盘
- GDCM:gdcm::Item的测试程序
- 【线上分享】下一代互联网通讯协议:QUIC
- springboot集成druid_绝了!Dataway让SpringBoot不在需要Controller、Service、DAO等了
- 基于图结构的图合成与差分隐私【LDPGen】
- 【CSS】CSS 的优先级总结
- 【Flink】HttpClient 报错 I/O SocketException caught when processing request to Connection Reset
- SAP License:企业ERP系统
- 企业大数据营销需要什么思路
- 双系统安装(win10系统+Ubuntu)
- [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(3)
- C# 控制台程序(Console Application )启动后隐藏
- weblogic10.3.6安装漏洞补丁
- 利用计算机辅助管理档案说明,计算机辅助档案管理
- Android 获取日历日程事件
- 计算机中如何隐私保护,隐私保护!我们的电脑该怎么设置开机密码呢?
- vagex挂机php,免费Docker容器来挂机Vagex赚美刀
- 复旦-华盛顿大学EMBA 二十年20人丨徐欣:从外企转战民企的变身
- 通过自定义的key进行加密解密
- Python就业都有哪些岗位?
热门文章
- iOS 实现搜索关键字高亮
- 一周水题集锦 2017 9.4
- Mysql表编码查看修改
- 项目管理九大知识领域
- 【漫画】程序员永远修不好的Bug——情人节
- BZOJ P1059 [ZJOI2007]矩阵游戏——solution
- Reaction to 构造之法 of Software Engineering From The First Chapter toThe Fifth Chapter
- jQuery验证框架(五)验证器
- 部分苹果 macOS Monterey 用户遇到“内存泄漏”问题,应用后台运行消耗上百 GB 内存
- 记一次MacOS 证书信任配置不生效的解决方法(clashX报错:SecTrustSettingsCopyCertificates error: -25262)