在Sharepoint 2013中以编程方式编辑并以编程方式保存已编辑的Wiki页面

时间:2015-08-05 02:53:00

标签: javascript html5 sharepoint-2013 wiki persistent-storage

我通过嵌入代码在Sharepoint 2013 wikipage中插入了javascript代码。

基本的javascript代码将行附加到表中,代码为

var myTable= document.getElementById('myTable');
myTable.innerHTML += myRecord;

如果变量myRecord包含要追加的行的html代码,则html代码类似于

<tr><td>my cell</td><td>my cell 2</td></tr>

代码按预期工作,并将行追加到表'myTable'。

但是当我点击 刷新 重新加载SharePoint 2013 wikipage时, 通过javascript以编程方式添加的所有行都消失了 < /强>

请建议如何动态添加HTML内容并使其保持持久性,以便动态HTML内容不会在页面重新加载时消失。我知道我可以将它保存在本地存储中并检索它或尝试cookie或会话,但它不可行,因为该表将有几千条记录或更多。

所以我只想确保我对Sharepoint 2013 wikipage的HTML代码所做的任何更改,通过javascript,保持保存或持久。

我发现的一些参考资料如下,但由于我是sharepoint的新手,我无法理解清楚,详细的一步一步指导会很好

Programmatically editing Sharepoint Wiki content

https://sharepoint.stackexchange.com/questions/69633/is-it-possible-to-programmatically-add-page-items-to-enterprise-wiki-using-csom

https://habaneroconsulting.com/insights/programmatically-change-content-on-a-wiki-page-in-sharepoint-2010#.VcF81v_JAuQ

能够使用CoreInvoke复制保存按钮('PageActionClick',这个),但保存按钮默认功能在保存和编辑之间切换,我只想要保存功能。

我在网上找到了一些更好的参考资料

http://sharepointace.blogspot.com/2013/05/add-custom-buttons-to-edit-or-save.html https://sharepoint.stackexchange.com/questions/88456/assign-edit-fuctionality-to-a-custom-button

1 个答案:

答案 0 :(得分:0)

免责声明:我没有使用过Sharepoint,但我会尽力帮助。

要解决此问题,有必要了解一下浏览器的运行方式。每次重新加载页面时,浏览器都会从服务器请求当前导航到的URL。然后,服务器返回由浏览器呈现的HTML文档。

您正确地将HTML附加到表格中。不幸的是,您所做的每一项更改都只存在于浏览器的缩影中。每次重新加载页面时,都会返回服务器中的新HTML,这显然不包含您的更改。

在页面重新加载之间保留数据的唯一方法是让服务器镜像您的数据。为此,您需要以某种方式使用相同的机制将数据提交到服务器.Sharepoint自己的webapp将数据提交到其服务器。或者,您可以仅在浏览器中缓存本地更改,并在访问其页面时使用它们填充所需表。我会把这个挑战留给读者。