【问题标题】:Using Javascript to remove quicklaunch node on sharepoint 2010使用 Javascript 删除 sharepoint 2010 上的快速启动节点
【发布时间】:2011-12-28 22:19:06
【问题描述】:

我正在尝试使用 javascript 客户端对象模型动态删除 SharePoint 2010(沙盒)中的 Quicklaunch 项目。

代码运行正确。所选项目已从我当前的 quickLaunchNodeCollection 中删除,但当我重新加载我的 quickLaunchNodeCollection 时,所选项目仍然存在。

function RemoveQuickLaunchNode() {
  var clientContext = new SP.ClientContext('/');
  this.nodeToRemove = this.quickLaunchNodeCollection.get_item(8);
  this.nodeToRemove.deleteObject();

  clientContext.executeQueryAsync(Function.createDelegate(this, this.onRefresh), Function.createDelegate(this, this.Failedmsg));
 }

有人可以帮助我吗??

谢谢。

【问题讨论】:

  • 更改就像没有持久化。
  • 您要删除什么?如果是列表或库,则有一种简单的方法。
  • “当我重新加载我的 quickLaunchNodeCollection 时”是什么意思?你的意思是你重新加载页面? Javascript 没有持久化,这是正确的。或者您的意思是对 quickLaunchNodeCollection 的更改没有保留在 Javascript 中? nodeToRemove 是什么? NavigationNodeCollection 在其 JS 形式中不包含删除:msdn.microsoft.com/en-us/library/ff408721.aspx
  • @xgencoder ,我正在尝试删除快速启动节点。列表或库对我来说无关紧要,两者都可以。
  • @moontear,nodeToRemoveNavigationNodelink。我有一个 GetQuickLaunchNode 函数,它检索所有 quicklaunchNode(从服务器)。这个函数填充quickLaunchNodeCollection。然后我想从 quickLaunchNodeCollection 中删除一个项目,所以我使用 RemoveQuickLaunchNode 函数。为了刷新(重新加载),我再次使用 GetQuickLaunchNode 函数。没有回发。

标签: javascript sharepoint quicklaunch


【解决方案1】:

这是一个上下文问题。 clientContext 和 quickLaunchNodeCollection 没有相同的上下文,所以不能删除 nodeToRemove。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    相关资源
    最近更新 更多