Расширенное поле Rich Text с тегами div и p - PullRequest
1 голос
/ 10 февраля 2012

У меня есть задача сбора в 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 ]

1 голос
/ 07 августа 2012

Простой ответ: в вашем отображении добавьте disable-output-escaping="yes" к вашему утверждению XSL, например:

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

Это удалит символьный вывод, экранирующий символы HTML.

0 голосов
/ 12 февраля 2012

Проблема в том, что вы используете RichHTMLField, чтобы получить данные от ваших конечных пользователей для этого поля. Поэтому sharepoint добавляет некоторый HTML-тег. но когда вы отображаете, вы используете FormField, который основан на тексте, поэтому он также отображает все теги HTML.

Итак, решение: 1. Используйте RichHTMLField для ввода и отображения 2. Используйте FormField / Простое текстовое поле для ввода и отображения 3. Напишите пользовательский элемент управления / расширитель элемента управления, чтобы очистить весь HTML-код перед его выводом. 4. Также менее рекомендуемым решением будет поиск этих тегов на странице через jQuery и удаление их.

...