Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint:将纯文本字段显示为html_Sharepoint - Fatal编程技术网

Sharepoint:将纯文本字段显示为html

Sharepoint:将纯文本字段显示为html,sharepoint,Sharepoint,我有一个Sharepoint列表,其中一列是纯文本描述。编辑列表项时,“说明”字段通常是文本区域。我已经用JavaScript对这个文本区域进行了扩展,以接受富文本(html),所以我有了自定义的富文本字段。问题是,当我输入富数据时,一切看起来都很好,但当我保存编辑的项目并显示它时,文本显示为纯文本,而不是html,因此我得到的不是粗体文本“text”。我希望它显示为html。我能用它做什么 编辑:我不想使用内置编辑器,因为我需要一些不同的行为。SharePoint使用自己的内置编辑器支持富文本

我有一个Sharepoint列表,其中一列是纯文本描述。编辑列表项时,“说明”字段通常是文本区域。我已经用JavaScript对这个文本区域进行了扩展,以接受富文本(html),所以我有了自定义的富文本字段。问题是,当我输入富数据时,一切看起来都很好,但当我保存编辑的项目并显示它时,文本显示为纯文本,而不是html,因此我得到的不是粗体文本“text”。我希望它显示为html。我能用它做什么


编辑:我不想使用内置编辑器,因为我需要一些不同的行为。

SharePoint使用自己的内置编辑器支持富文本列。您只需更改列设置,使其允许富文本

如果由于浏览器与内置富文本编辑器的兼容性而使用JavaScript编辑器,SharePoint将始终从输入的内容中删除html,因为它希望输入为纯文本

回复您的评论

如果希望该字段以富格文本显示,则它必须是富格文本字段,如果将其设置为纯文本,则始终会丢失自定义格式


您需要查看从表单中读取文本输入并将其保存到列表中的代码将执行替换

< with &lt;
> with &gt;
依此类推(保存后查看页面的源代码)

这种情况发生在“服务器端”,因此您无法使用JavaScript更改这种情况

我想你有两个选择

  • 正如F5所提到的,您可以使用自己的行为创建渲染和更新。这是做到这一点的“正确”方法

  • 您可以将您的时髦javascript更改为在富文本字段上工作,侵入内置RTE的呈现,并用您自己的替换它


当然,一旦你从一个用户那里获取输入,然后将其呈现回你的网页,你就会面临各种各样的麻烦,比如你没有过滤掉潜在的坏东西(这就是为什么使用HtmlEncode的原因)-与面向公众的网站相比,内联网上典型的SharePoint网站的问题更少。

那么,数据错误显示的确切位置是:在列表显示表单上还是在页面布局上?如果它在页面布局上,那么解决方法很简单:创建一个自定义字段控件,该控件将检索字段的值(如SPContext.Current.ListItem[“YourField”]),并解码内容以获取HTML而不是编码的HTML实体