我已被委托将现有的自定义插件从SharePoint 2010迁移到2013. SharePoint 2013解决方案应创建一个自定义列,应使用webservice从我们的产品(应用程序)中获取数据。在2010年,使用renderpattern从fldtypes_xxxx.xml文件调用了js文件位置和函数。但是在2013年,由于UI已经改变,我无法链接JS文件。因此我不得不使用JSLink属性。参考下面的msdn文章并尝试了相同的。
http://msdn.microsoft.com/en-us/library/jj220061%28v=office.15%29.aspx
现在我想从JS文件中进行webservice调用。我需要获取文档的信息,如listid,itemID,并将其发送到我们的自定义Web服务,该Web服务处理请求,该请求应该向我们的外部应用程序发送webservice调用并获取sharepoint库中相应文档的数据。
请指导我。
如何从以下功能添加呼叫。
(function () {
var favoriteColorContext = {};
favoriteColorContext.Templates = {};
favoriteColorContext.Templates.Fields = {
"FavoriteColorField": {
"View": favoriteColorViewTemplate
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
favoriteColorContext
);
})();
function favoriteColorViewTemplate(ctx) {
var color = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
return "<span style='background-color : " + color +
"' > </span> " + color;
}
答案 0 :(得分:0)
上面的代码用于在视图中渲染字段。在这种情况下,您可以在favoriteColorViewTemplate
函数中获取这些属性:
ctx.listName
或来自全局变量_spPageContextInfo.pageListId
ctx.CurrentItem.ID
如果您将在显示或编辑表单中使用函数,这些属性会略有不同:
ctx.FormContext.listAttributes.Id
或_spPageContextInfo.pageListId
renderCtx.FormContext.itemAttributes.Id
可能,调用自定义Web服务的最简单方法是使用JQuery $.ajax(...)
调用。在这里检查一些样品:
如果你想引用JQuery,你也可以使用JSLink,使用|
这样的符号:
{path to JQuery}|{path to your JS file}