增强的富文本字段显示div和p标记

时间:2012-02-09 20:21:35

标签: sharepoint sharepoint-2010 sharepoint-designer

我在Sharepoint 2010中有一个带有增强型富文本框的收集任务。在列表中,它显示了p和div标签。

<div class="ExternalClass1458740DC98941C3A3589359A3017AAA"><p>Approved - Rev D​</p></div>

这是文本来自的字段。

<td width="75%" class="ms-formbody" >
                        <SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="Edit" FieldName="DocCtlAdmin_x0020_Comment1234567" __designer:bind="{ddwrt:DataBind('u',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)) , '@DocCtlAdmin_x0020_Comment1234567')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="DocCtlAdmin_x0020_Comment1234567" ControlMode="Edit"/>
                    </td>

对于为何或如何删除的任何见解将不胜感激

2 个答案:

答案 0 :(得分:1)

简单的答案是:在显示视图中将disable-output-escaping="yes"添加到您的XSL语句中,如下所示:

xsl:value-of select="@CMImplPlan" disable-output-escaping="yes"

这将删除转义为HTML字符的字符输出。

答案 1 :(得分:0)

问题是您使用RichHTMLField来获取最终用户对此字段的输入。所以sharepoint添加了一些HTML标记。 但 当您正在显示时,您正在使用基于文本的FormField,因此它也会显示所有HTML标记。

所以解决方案是: 1.使用RichHTMLField进行输入和显示 2.将FormField / Simple文本框用于输入和显示 3.编写自定义控件/控件扩展器以在输出之前清除所有HTML 4.另外一个不太推荐的解决方案是通过jQuery在页面上搜索这个标签并删除它们。