C# SharePoint 2013中的自定义字段

C# SharePoint 2013中的自定义字段,c#,javascript,web-services,sharepoint,sharepoint-2013,C#,Javascript,Web Services,Sharepoint,Sharepoint 2013,我被委托将现有的自定义插件从SharePoint 2010迁移到2013。SharePoint 2013解决方案应创建一个自定义列,该列的数据应使用webservice从我们的产品(应用程序)中获取。2010年,js文件位置和函数已使用renderpattern从fldtypes_xxxx.xml文件调用。但是到了2013年,由于UI发生了变化,我无法链接JS文件。因此,我不得不使用JSLink属性。参考下面的msdn文章并尝试相同的方法 现在我想从JS文件中调用webservice。我需要获

我被委托将现有的自定义插件从SharePoint 2010迁移到2013。SharePoint 2013解决方案应创建一个自定义列,该列的数据应使用webservice从我们的产品(应用程序)中获取。2010年,js文件位置和函数已使用renderpattern从fldtypes_xxxx.xml文件调用。但是到了2013年,由于UI发生了变化,我无法链接JS文件。因此,我不得不使用JSLink属性。参考下面的msdn文章并尝试相同的方法

现在我想从JS文件中调用webservice。我需要获取文档的信息,如listid、itemID,并将其发送到我们的自定义Web服务,该服务处理inturn应向外部应用程序发送Web服务调用的请求,并获取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;
}
(函数(){
var-favoriteColorContext={};
favoriteColorContext.Templates={};
favoriteColorContext.Templates.Fields={
“FavoriteColorField”:{
“视图”:favoriteColorViewTemplate
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
偏好色彩语境
);
})();
函数favoriteColorViewTemplate(ctx){
var color=ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
返回“+”颜色;
}

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

  • 列表ID:
    ctx.listName
    或来自全局变量
    \u spPageContextInfo.pageListId
  • 项目ID:
    ctx.CurrentItem.ID
如果要在显示或编辑表单中使用函数,则这些属性有点不同:

  • 列表ID:
    ctx.FormContext.listAttributes.ID
    \u spPageContextInfo.pageListId
  • 项目ID:
    renderCtx.FormContext.itemAttributes.ID
也许,调用自定义web服务最简单的方法是使用JQuery
$.ajax(…)
调用。请在此处查看一些样本:

  • 如果您想引用JQuery,也可以使用JSLink,使用如下的
    符号:


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

    为什么不试试:var color=ctx.CurrentItem.NameOfYourColumn;并检查列的名称是否正确。因为昨天我在编辑模式下创建了一个列,当我键入我的列的名称时,它是用其他名称创建的,比如:“poakspoK”,我想要“Type”。)不确定这个问题是否与我上周遇到的问题相同,但请看一下[此处][我认为这可能是同一个问题,您还需要实现自己的自定义端点。。。