Hyperlink Sharepoint 2013计算字段作为超链接呈现为文本

Hyperlink Sharepoint 2013计算字段作为超链接呈现为文本,hyperlink,sharepoint-2013,calculated-field,Hyperlink,Sharepoint 2013,Calculated Field,我在Sharepoint 2013中有一列,并将类型设置为“计算”。我已经将数据返回类型设置为整数(附图片),因此该字段是超链接。 这一切在所有环境(开发和生产环境)和浏览器(chrome、firefox、IE)中运行了一年多,直到最近用户报告超链接不再可点击并显示为文本(附图片)。检查元素后,将显示的值被视为文本。 我花了一些时间简化公式,删除字段,并有一个简单的元素导航到谷歌,但没有找到解决方案。我怀疑可能有一个Sharepoint更新以不同的方式处理公式,在其周围的元素中使用双引号创建

我在Sharepoint 2013中有一列,并将类型设置为“计算”。我已经将数据返回类型设置为整数(附图片),因此该字段是超链接。

这一切在所有环境(开发和生产环境)和浏览器(chrome、firefox、IE)中运行了一年多,直到最近用户报告超链接不再可点击并显示为文本(附图片)。检查元素后,将显示的值被视为文本。


我花了一些时间简化公式,删除字段,并有一个简单的元素导航到谷歌,但没有找到解决方案。我怀疑可能有一个Sharepoint更新以不同的方式处理公式,在其周围的元素中使用双引号创建文本。

经过研究,我找到了问题的原因和解决方案

原因

SharePoint update删除了将计算字段设置为us标记的功能,如中所述

解决方案

我已经找到了一个使用JSLink的解决方案。在打开上面的链接之后,有一些使用JSLink的示例。通过一点尝试,我成功地实现了将计算字段作为超链接。步骤很简单

  • 用代码创建一个js文件——在我的例子中,我创建了一个超链接,可以将当前项的值发布到另一个列表

  • 复制js文件的链接位置

  • 在“杂项”部分的“视图”中,参考web部件上的js文件

  • 注意:在脚本中,字段名必须是内部字段名,这让我慢了不少。要获取内部字段名,请打开列表设置,将鼠标悬停在所需字段上,然后在浏览器的左下角获取内部字段名(此处的字段=内部字段名)

    可以找到一个示例


    另一篇有用的文章。

    正如原海报的后续文章所述,截至2017年6月,您不能再这样做了

    对于SharePoint Online,替代方法是在页面上嵌入一些JavaScript或使用新的JavaScript。如果您有自己的SharePoint服务器,则可以使用API[即通过PowerShell]修改Web对象的CustomMarkupInCalculatedFieldDisabled属性


    我需要一个更健壮的解决方案,所以我创建了一个SharePoint扩展来实现这一点。你可以。这些说明应该能够在几分钟内让您启动并运行。我发现它比JavaScript更容易管理

    嗨,杰森,请帮我解答一个关于计算列列表过滤器的问题-