SharePoint 2013中的自定义字段

use*_*190 5 javascript c# sharepoint web-services sharepoint-2013

我已被委托将现有的自定义插件从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 +
        "' >&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;" + color;
}
Run Code Online (Sandbox Code Playgroud)

小智 0

上面的代码用于在视图中渲染字段。在这种情况下,您可以在函数中获取这些属性favoriteColorViewTemplate

  • 列表 ID:ctx.listName或来自全局变量_spPageContextInfo.pageListId
  • 商品编号:ctx.CurrentItem.ID

如果您将在显示或编辑表单中使用函数,这些属性会略有不同:

  • 列表 ID:ctx.FormContext.listAttributes.Id_spPageContextInfo.pageListId
  • 商品编号:renderCtx.FormContext.itemAttributes.Id

也许,调用自定义 Web 服务的最简单方法是使用 JQuery$.ajax(...)调用。在这里检查一些示例:

  1. http://api.jquery.com/jquery.ajax/
  2. http://www.w3schools.com/jquery/ajax_ajax.asp

如果你想引用 JQuery,你也可以使用 JSLink,使用|如下符号:

{path to JQuery}|{path to your JS file}