【问题标题】:Sharepoint 2013 CSOM get item properties from custom list view item formSharepoint 2013 CSOM 从自定义列表视图项目表单中获取项目属性
【发布时间】:2015-10-15 10:33:32
【问题描述】:

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

我已将脚本编辑器 web 部件添加到显示表单并创建了成功创建子站点并在从浏览器控制台手动执行时添加 web 部件的函数,所以现在我试图将它们全部放在一起并开始从表单中显示的列表项中获取数据。我无法找到公开当前查看项目的 CSOM 方法/属性。我看过对

的引用
_spPageContextInfo.pageListId

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

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

DispForm.aspx?ID=5

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

【问题讨论】:

标签: javascript sharepoint sharepoint-2013 sharepoint-list


【解决方案1】:

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

GetUrlKeyValue("ID");

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

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

GetUrlKeyValue() 是一个 javascript 函数,我们可以使用它获取 从浏览器中的 url 或我们的 url 查询字符串参数 指定。

parameter(string):从url查询字符串参数。

noDecode(bool):指定是否必须对值进行编码。 如果false,值被解码,否则原样返回。(可选)

url(string):查询字符串值的url 已检索。(可选)

【讨论】:

  • 这看起来很棒。我一直在用 janky string search 测试函数,并对此感到紧张,但这看起来是一个很好的折衷方案。谢谢!
  • @AndrewS 很高兴它有帮助。还有一些其他参数可用。我已经更新了答案
【解决方案2】:

使用_spPageContextInfo.pageItemId

【讨论】:

  • 不幸的是,pageItemId 属性似乎不适用于我正在使用的列表。它至少从控制台返回 undefined。
  • 你可以修改页面吗?还是只是 Web 部件?
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多