Office365学习笔记—创建WikiPage
1,项目有个需求:项目表每更新一次,就把跟该项目有关的任务创建一个静态页(历史版本功能)!
注意事项:需要在页面上拖一个ContentEditer!将代码放在ContentEditer里面,因为我试过发现,如果直接在SPD里面写代码,保存时,下面那段引用程序集的代码会提示不安全字符串,然后会被修改掉。
function createListItem(version,itemTitle) {
var clientContext = new SP.ClientContext.get_current();
var oWebsite = clientContext.get_web();
var oList = oWebsite.get_lists().getByTitle("项目计划历史");
var fileCreateInfo = new SP.FileCreationInformation();
fileCreateInfo.set_url(version+".aspx");
fileCreateInfo.set_content(new SP.Base64EncodedByteArray());
var fileContent ="<%@ Assembly Name=\"Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c\"%> <%@ Page Language=\"C#\" Inherits=\"Microsoft.SharePoint.WebPartPages.WikiEditPage\" MasterPageFile=\"~masterurl/default.master\" MainContentID=\"PlaceHolderMain\" meta:webpartpageexpansion=\"full\" meta:progid=\"SharePoint.WebPartPage.Document\" %><%@ Import Namespace=\"Microsoft.SharePoint.WebPartPages\" %> <%@ Register Tagprefix=\"SharePoint\" Namespace=\"Microsoft.SharePoint.WebControls\" Assembly=\"Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c\" %> <%@ Register Tagprefix=\"Utilities\" Namespace=\"Microsoft.SharePoint.Utilities\" Assembly=\"Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c\" %> <%@ Import Namespace=\"Microsoft.SharePoint\" %> <%@ Assembly Name=\"Microsoft.Web.CommandUI, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c\" %><%@ Register Tagprefix=\"WebPartPages\" Namespace=\"Microsoft.SharePoint.WebPartPages\" Assembly=\"Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c\" %><asp:Content ContentPlaceHolderId=\"PlaceHolderPageTitle\" runat=\"server\"> <SharePoint:ProjectProperty Property=\"Title\" runat=\"server\"/> - <SharePoint:ListItemProperty runat=\"server\"/></asp:Content><asp:Content ContentPlaceHolderId=\"PlaceHolderPageImage\" runat=\"server\"><SharePoint:AlphaImage ID=onetidtpweb1 Src=\"/_layouts/15/images/wiki.png?rev=32\" Width=145 Height=54 Alt=\"\" Runat=\"server\"/></asp:Content><asp:Content ContentPlaceHolderId=\"PlaceHolderAdditionalPageHead\" runat=\"server\"> <meta name=\"CollaborationServer\" content=\"SharePoint Team Web Site\" /> <SharePoint:ScriptBlock runat=\"server\"> var navBarHelpOverrideKey = \"WSSEndUser\"; </SharePoint:ScriptBlock> <SharePoint:RssLink runat=\"server\"/> </asp:Content> <asp:Content ContentPlaceHolderId=\"PlaceHolderMiniConsole\" runat=\"server\"> <SharePoint:FormComponent TemplateName=\"WikiMiniConsole\" ControlMode=\"Display\" runat=\"server\" id=\"WikiMiniConsole\"/> </asp:Content> <asp:Content ContentPlaceHolderId=\"PlaceHolderLeftActions\" runat=\"server\"> <SharePoint:RecentChangesMenu runat=\"server\" id=\"RecentChanges\"/> </asp:Content> <asp:Content ContentPlaceHolderId=\"PlaceHolderMain\" runat=\"server\"> <span id=\"wikiPageNameDisplay\" style=\"display: none;\" runat=\"server\"> <SharePoint:ListItemProperty runat=\"server\"/> </span> <span style=\"display:none;\" id=\"wikiPageNameEdit\" runat=\"server\"> <asp:TextBox id=\"wikiPageNameEditTextBox\" runat=\"server\"/> </span> <SharePoint:VersionedPlaceHolder UIVersion=\"4\" runat=\"server\"> <SharePoint:SPRibbonButton id=\"btnWikiEdit\" RibbonCommand=\"Ribbon.WikiPageTab.EditAndCheckout.SaveEdit.Menu.SaveEdit.Edit\" runat=\"server\" Text=\"edit\"/> <SharePoint:SPRibbonButton id=\"btnWikiSave\" RibbonCommand=\"Ribbon.WikiPageTab.EditAndCheckout.SaveEdit.Menu.SaveEdit.SaveAndStop\" runat=\"server\" Text=\"edit\"/> <SharePoint:SPRibbonButton id=\"btnWikiRevert\" RibbonCommand=\"Ribbon.WikiPageTab.EditAndCheckout.SaveEdit.Menu.SaveEdit.Revert\" runat=\"server\" Text=\"Revert\"/> </SharePoint:VersionedPlaceHolder> <SharePoint:EmbeddedFormField id=\"WikiField\" FieldName=\"WikiField\" ControlMode=\"Display\" runat=\"server\"></SharePoint:EmbeddedFormField> <WebPartPages:WebPartZone runat=\"server\" ID=\"Bottom\" CssClass=\"ms-hide\" Title=\"loc:Bottom\"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone></asp:Content>";
for (var i = 0; i < fileContent.length; i++) {
fileCreateInfo.get_content().append(fileContent.charCodeAt(i));
}
clientContext.load(oWebsite);
var folder = oWebsite.getFolderByServerRelativeUrl(_spPageContextInfo.webServerRelativeUrl + "/ProjectHistory/"+itemTitle);
this.newFile = folder.get_files().add(fileCreateInfo);
clientContext.load(this.newFile);
clientContext.executeQueryAsync(
Function.createDelegate(this, successHandler),
Function.createDelegate(this, errorHandler)
);
function successHandler() {
this.file = oWebsite.getFileByServerRelativeUrl(this.newFile.get_serverRelativeUrl());
this.listItem = this.file.get_listItemAllFields();
var htmlconter=$("#taskcont").html();
this.listItem.set_item("WikiField", htmlconter);
this.listItem.update();
this.onConversionToMasterPageSuccess = function (sender, args) {
};
this.onConversionToMasterPageFailure = function (sender, args) {
alert(args.get_message() + "\r\n\r\n" + args.get_stackTrace());
};
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onConversionToMasterPageSuccess),
Function.createDelegate(this, this.onConversionToMasterPageFailure));
}
function errorHandler() {
alert("Request failed: " + arguments[1].get_message());
}
Office365学习笔记—创建WikiPage的更多相关文章
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- EntityFramework Core 学习笔记 —— 创建模型
原文地址:https://docs.efproject.net/en/latest/modeling/index.html 前言: EntityFramework 使用一系列的约定来从我们的实体类细节 ...
- HTML&CSS基础学习笔记—创建列表
创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...
- [Spring入门学习笔记][创建网站URL]
设计网站的URL 现代的Web站点都会设计一套拥有明确意义,方便用户记忆的URL,不论是域名还是路径,以天码营为例: http://tianmaying.com/courses表示网站下所有的课程列表 ...
- SQLite3学习笔记----创建数据库的两种方式
今天研究学习SQLite,刚开始创建数据库,就遇到了一个坑,是自己粗心了,特记录一下. 实验环境: OS:Ubuntu18.04 创建数据库名称:test.db 实验步骤: 1.检查是否已经安装了SQ ...
- Office365学习笔记—Xslt自定义列表视图
1,在Office365中需要添加自定义的视图!用Spd添加视图,这儿我添加一个testView! (1)打开testView.aspx将</ZoneTemplate>节点中的内容全部删除 ...
- MongoDB 学习笔记 ---创建用户
MongoDB安装好了之后,开始学习常用命令 首先,运行MongoDB, 记住,先不用带参数--auth /usr/local/mongodb/bin/mongod -dbpath=/usr/loca ...
- WeX5学习笔记-创建本地APP相关问题
1.在Native新建[创建本地APP]时, "服务地址”为本地IP和端口号,例如本地IP为192.168.253.1,端口号为8080,则设置为http://192.168.253.1:8 ...
- MongoDB学习笔记-创建、更新、删除文档
创建 MongoDB中使用insert方法来向集合插入文档,然后保存到MongoDB中. db.foo.insert({"hehe":"呵呵"} ...
随机推荐
- HttpContext.Current.Request.RawUrl是什么意思?
原始 URL 定义为 URL 中域信息之后的部分.在 URL 字符串 http://www.contoso.com/articles/recent.aspx 中,原始 URL 为/articles/r ...
- Unknown entity XXX
在jdbc中使用session保存实体的时候,保存出错,Unknown entity XXX 一种解决方案为 http://ningnian169.blog.51cto.com/2417825/450 ...
- javascript获取元素样式值
使用css控制页面有4种方式,分别为行内样式(内联样式).内嵌式.链接式.导入式. 行内样式(内联样式)即写在html标签中的style属性中,如<div style="width:1 ...
- BZOJ3992: [SDOI2015]序列统计(NTT 原根 生成函数)
题意 题目链接 给出大小为\(S\)的集合,从中选出\(N\)个数,满足他们的乘积\(\% M = X\)的方案数 Sol 神仙题Orz 首先不难列出最裸的dp方程,设\(f[i][j]\)表示选了\ ...
- 多线程 读写锁SRWLock
在<秒杀多线程第十一篇读者写者问题>文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法——读写锁SRWLock来解决这一 ...
- SpringMVC学习(六)——@InitBinder注解
有些类型的数据是无法自动转换的,比如请求参数中包含时间类型的数据,无法自动映射到Controller里的Date参数.需要使用@initBinder注解为binder提供一个数据的转换器,这个转换器可 ...
- freess(未测试)
freess 使用 nodejs 配合 shadowsocks-windows 实现FQ (windows) 使用方法: 如果你没有安装nodejs请先安装,访问 https://nodejs.org ...
- 信用卡精养卡POS机方案
所谓的精养卡,就是模仿有钱人的一种方式,提额难吗!真心不难,难就难在养卡消费 ,信用卡都有,但是不同费率的POS机你有吗,没有POS机难道你真的要去花费去消费吗,你消费的起吗?所以我们这个行业就出现了 ...
- GIT团队合作探讨之一-保持工作同步的概念和实践
感谢英文原文作者,这是我看到的关于git协同工作写的最清晰简洁的文章了: https://www.atlassian.com/git/tutorials/syncing/git-push SVN使用一 ...
- How to alter department in PMS system
question:How to alter department in PMS system 1.Use generally method modified department: update e ...