我在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>
对于为何或如何删除的任何见解将不胜感激
答案 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在页面上搜索这个标签并删除它们。