2012-02-09 48 views
0

我有一個收集任務,帶增強型富文本框的Sharepoint 2010中。在列表中顯示了p和div標籤。增強的富文本字段顯示div和p標籤

<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

問題是您正在使用RichHTMLField擺脫最終用戶對這一領域的投入。所以Sharepoint添加了一些HTML標籤。 但是 當你顯示你正在使用FormField時,它是基於文本的,所以它也顯示了所有的HTML標籤。

所以,解決辦法是: 1.使用RichHTMLField用於輸入和顯示 2.使用FormField /簡單的文本輸入和顯示 3.編寫自定義控制/控制擴展其輸出 之前清除所有的HTML 4.另外一個不太推薦的解決方案是通過jQuery在頁面上搜索這些標籤並將其刪除。

1

簡單的答案是:在你的顯示器視圖添加disable-output-escaping="yes"到您的XSL聲明,如下所示:

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

這將刪除字符輸出轉義HTML字符。