2009-10-23 78 views
0

我有一个Sharepoint列表,其中一列是纯文本 - 说明。当您编辑列表项目时,说明字段通常是一个TextArea。我已经编程,该TextArea扩展与JavaScript接受丰富的文本(真的HTML),所以我有我的自定义富文本字段。问题是,当我输入丰富的数据一切看起来不错,但当我保存编辑的项目,然后显示它,文本显示为纯文本,而不是HTML,所以而不是粗体文本我得到“< B”文本</b>“。我希望它被显示为html。我能用它做什么?Sharepoint:将纯文本字段显示为html

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

回答

0

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

如果您使用JavaScript编辑器是因为浏览器与内置的富文本编辑器兼容,那么SharePoint将始终从任何输入中去除html,因为它预期输入为纯文本。

回复您的意见

如果你想现场将其设置为纯文本,你总是会失去你的自定义格式在它需要一个富文本字段的富文本显示。

你需要寻找到custom field types

+0

重点是我没有使用内置的编辑器 – agnieszka 2009-10-23 08:04:58

2

读取从表单中的文本输入,并将其保存到列表中会做一个HTMLEncode操作,取代

< with &lt; 
> with &gt; 

等(代码看一下保存后页面的来源)

这发生在'服务器端',所以你将无法使用JavaScript来改变它。

你有两个选择,我认为

  • 如F5提到你可以用自己的行为进行渲染和更新创建custom field type。这是做到这一点的“正确”方式。

  • 你可以改变你的时髦的JavaScript工作在一个丰富的文本字段,破解内置RTE的渲染,并用你自己的替换它。

变化图中,只要你是从一个用户正在输入,然后使其返回到您的网页,你打开自己对各种脏东西如Cross Site Scripting的,如果你没有过滤掉潜在的不好的东西(使用HtmlEncode的原因) - Intranet上典型SharePoint网站中的问题少于面向公众的网站中的问题。

0

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

相关问题