zoukankan      html  css  js  c++  java
  • Office365学习笔记—创建WikiPage

    1,项目有个需求:项目表每更新一次,就把跟该项目有关的任务创建一个静态页(历史版本功能)!

    注意事项:需要在页面上拖一个ContentEditer!将代码放在ContentEditer里面,因为我试过发现,如果直接在SPD里面写代码,保存时,下面那段引用程序集的代码会提示不安全字符串,然后会被修改掉。

     1 function createListItem(version,itemTitle) {
     2 
     3             var clientContext = new SP.ClientContext.get_current();
     4             var oWebsite = clientContext.get_web();
     5             var oList = oWebsite.get_lists().getByTitle("项目计划历史");
     6 
     7             var fileCreateInfo = new SP.FileCreationInformation();
     8             fileCreateInfo.set_url(version+".aspx");
     9             fileCreateInfo.set_content(new SP.Base64EncodedByteArray());
    10             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>";
    11                           
    12             for (var i = 0; i < fileContent.length; i++) {
    13                 fileCreateInfo.get_content().append(fileContent.charCodeAt(i));
    14             }
    15             
    16             clientContext.load(oWebsite);
    17             var folder = oWebsite.getFolderByServerRelativeUrl(_spPageContextInfo.webServerRelativeUrl + "/ProjectHistory/"+itemTitle);
    18             this.newFile = folder.get_files().add(fileCreateInfo);
    19             clientContext.load(this.newFile);
    20             clientContext.executeQueryAsync(
    21                 Function.createDelegate(this, successHandler),
    22                 Function.createDelegate(this, errorHandler)
    23             );
    24             function successHandler() {
    25                 
    26                 this.file = oWebsite.getFileByServerRelativeUrl(this.newFile.get_serverRelativeUrl());
    27                 this.listItem = this.file.get_listItemAllFields();
    28                 var htmlconter=$("#taskcont").html();
    29                 this.listItem.set_item("WikiField", htmlconter);
    30                 
    31                 this.listItem.update();
    32                 this.onConversionToMasterPageSuccess = function (sender, args) {
    33                 
    34                 };
    35                 this.onConversionToMasterPageFailure = function (sender, args) {
    36                     alert(args.get_message() + "
    
    " + args.get_stackTrace());
    37                 };
    38                 clientContext.executeQueryAsync(
    39                 Function.createDelegate(this, this.onConversionToMasterPageSuccess),
    40                 Function.createDelegate(this, this.onConversionToMasterPageFailure));
    41             }
    42             function errorHandler() {
    43                 alert("Request failed: " + arguments[1].get_message());
    44             }
  • 相关阅读:
    将两个数组对比后合并为同一个数组
    invalid reference format: repository name must be lowercase
    Error: too many open files之ulimt
    vim打开文件末尾带有^M
    双层for循环体里,分别跳出外层循环和内层循环
    echarts 多饼图集合多标题
    近1个月订单占比城市TOP6
    javascript 显示日期
    国密SM2,SM4 For Delphi xe 10.3.3
    Datasnap POST 方案
  • 原文地址:https://www.cnblogs.com/wanren/p/3576313.html
Copyright © 2011-2022 走看看