0

在内容编辑器 Web 部件中,如何通过 ECMA 获取当前列表名称?内容编辑器 Web 部件位于列表的 AllItems 视图中。

试图避免服务器端代码...

4

1 回答 1

1

COM、ECMA 和服务器端对象模型不提供我看到的这个功能,但如果有人能提供更好的解决方案,那就太好了。我用来获取 ListName 的脚本如下,

function getListTitle() {

clientContext = new SP.ClientContext.get_current()
oWeb = clientContext.get_web();
oListColl = oWeb.get_lists();
oList = oListColl.getById(SP.ListOperation.Selection.getSelectedList());
clientContext.load(oList);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function onQuerySucceeded() {

var s = window.location.toString().substring(0, window.location.toString().lastIndexOf('/'));
if (s.endsWith('Forms')) {
    s = s.substring(0, s.length - 6);
}
}

function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

我假设您的列表是指列表的 URL,因为名称很容易,oList.get_title

问候彼得

于 2013-06-26T07:31:06.860 回答