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":"呵呵"} ...
 
随机推荐
- css-布局定位
			
position: ** 属性值 - absolute: *** 将对象从文档流中拖出 *** 可以是top.bottom等属性进行定位 - relative: *** 不会将对象从文档流中拖出 * ...
 - “没有用var声明的为全局变量”这种说法不准确
			
结论: “没有用var声明的变量为全局变量”这样的说法不太正确,需要在这句话前面加一个前提,如果①变量前面没有用var声明,②在变量所在在的作用域链中没有这个变量名称,则设置该变量为全局变量. 代码 ...
 - JavaWeb中Servlet和JSP的分工案例
			
jsp和Servlet的分工: * JSP: > 作为请求发起页面,例如显示表单.超链接. > 作为请求结束页面,例如显示数据. * Servlet: &g ...
 - memset用法详解
			
原文:http://www.cnblogs.com/PegasusWang/archive/2013/01/20/2868824.html 1.void *memset(void *s,int c,s ...
 - python 面向对象 【进阶】
			
多态 多态跟python没有太大关系,因为python本身原生支持多态. def func(arg): #多态 print (arg) func(1) func(‘pand ...
 - klee错误汇报二:KLEE的optimize选项的一个困惑
			
问题已经提交github:https://github.com/klee/klee/issues/650 在一个对命令行参数进行建模的符号执行过程中,添加optimize选项与不添加optimize选 ...
 - GIT团队合作探讨之三--使用分支
			
这篇文章是一个作为对git branch的综合介绍.首先,我们会看看创建branch,这有点像是请求一个新的项目历史.然后,我们看看git checkout是如何能够被用来选择一个branch,最后看 ...
 - MySQL5.7的组提交与并行复制
			
从MySQL5.5版本以后,开始引入并行复制的机制,是MySQL的一个非常重要的特性. MySQL5.6开始支持以schema为维度的并行复制,即如果binlog row event操作的是不同的sc ...
 - SQL Server 2017 on Linux
			
此文转载,原文地址:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-whats-new CTP 2.0 The CTP 2.0 ...
 - .Net中初探Redis
			
一.简介 Redis是著名的NOSQL数据库,本质就是存储键值对结构的数据,为存储键值对数据做了优化,在大型网站中应用很多.Redis提供了数据的自动过期处理,因此适合存储临时数据. 和Redis类似 ...