c# - SharePoint 2013 中的自定义字段

标签 c# javascript web-services sharepoint sharepoint-2013

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

http://msdn.microsoft.com/en-us/library/jj220061%28v=office.15%29.aspx

现在我想从 JS 文件进行网络服务调用。我需要获取文档的信息,如 listid、itemID,并将其发送到我们的自定义 Web 服务,该服务处理请求,后者应向我们的外部应用程序发送 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;
}

最佳答案

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

  • 列表 ID:ctx.listName 或来自全局变量 _spPageContextInfo.pageListId
  • 项目 ID:ctx.CurrentItem.ID

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

  • 列表 ID:ctx.FormContext.listAttributes.Id_spPageContextInfo.pageListId
  • 项目 ID: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,使用 | 符号,像这样:

{JQuery 的路径}|{您的 JS 文件的路径}

关于c# - SharePoint 2013 中的自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23808095/

相关文章:

javascript - 我遇到错误 Uncaught TypeError : Cannot read property 'toLowerCase' of undefined

.net - 'System.InvalidOperationException : Request format is invalid: multipart/form-data' error when posting image from iphone to . NET 网络服务

java - 如何将 JSON 对象从 POSTMAN 发送到 Restful Web 服务

c# - 如何通过 SSL 从 LDAP 获取 DirectoryEntry?

javascript - React 中的多个 API 调用

c# - 正则表达式,用于匹配函数并捕获其参数

javascript - 处理 SASS、JS 和 HTML + 浏览器同步/刷新

web-services - 在 Grails CXF 服务中使用 @WebService 引发的异常

c# - 需要 cefsharp 代理身份验证

c# - 如何在 C# 中表示一个数字是长整数还是小数?