Sharepoint 2013 CSOM 从自定义列表视图项目表单中获取项目属性

Sharepoint 2013 CSOM get item properties from custom list view item form

我正在尝试使用 Javascript CSOM 从自定义列表的项目显示表单中执行多个操作。目的是在表单上显示一个按钮,该按钮将根据显示项目的列数据创建子网站,然后将 Web 部件添加到顶级网站页面上的 "dashboard" 页面。

我已经将脚本编辑器 Web 部件添加到显示表单并创建了成功创建子网站的函数,并在从浏览器控制台手动执行时添加了 Web 部件,所以现在我正在尝试将它们整合在一起并开始从表单中显示的列表项中获取数据。我找不到公开当前查看项目的 CSOM methods/properties。我看到了对

的引用
_spPageContextInfo.pageListId

属性 这对于我正在查看的列表似乎具有很好的价值,但对于正在显示的实际项目没有相关的 属性。我也没有看到直接从页面上的表单元素中获取数据的好方法。

我知道 ListItemID 存在于某处,因为它就在 URL 中,如

DispForm.aspx?ID=5

但如果可以避免的话,我真的不想在 url 上做一些骇人听闻的正则表达式。是否有某种页面上下文 属性 可以为我提供列表 ID 或正在显示的项目的属性?

使用_spPageContextInfo.pageItemId

我不确定是否有获取 ID 的内置方法,但有一个用于检索 URL 参数的 SharePoint 方法(即没有正则表达式 "hackery")

GetUrlKeyValue("ID");

遗憾的是,MSDN 对此方法没有很好的参考,但一些博客有一些很好的介绍

https://praneethmoka.wordpress.com/2012/01/12/some-useful-javascript-variablesfunctions-in-sharepoint/

GetUrlKeyValue() is a javascript function using which we can get the Query string parameter either from url in the browser or a url that we specify.

parameter(string): query string parameter from the url.

noDecode(bool): specifies whether the value has to be encoded or not. If false, value is decoded, else returned as it is.(Optional)

url(string): the url from which Query string values are to be retrieved.(Optional)