Это распространенная проблема, и RTE вызывает ряд головных болей для поддержания целостности вашей веб-страницы. Целый "мы должны включать теги параграфа или нет?" Вопрос сложный, так как их можно удалить, вставляя только один абзац текста, но что, если редактор контента решит добавить больше, а вы уберете первый и последний теги P?
Учитывая, что CSS для сайта всегда должен поддерживать все, что вы выберете, лучше всего отредактировать файл конфигурации, чтобы TinyMCE пропустил теги P. Для этого вам нужно отредактировать файл /config/tinyMceConfig.config. Это имеет два интересных раздела в нижней части. содержит разрешенные теги HTML, и, конечно, содержит противоположное.
Если вы посмотрите в список допустимых элементов значений, разделенных запятыми, вы должны увидеть значение # p [id | style | dir | class | align] . Принимая во внимание ИМЕННО , как это отформатировано, вы сможете переместить его в раздел недопустимых элементов. Поместите его после тега font по умолчанию, с запятой перед ним, конечно.
Перезагрузите IIS и попробуйте ввести свой контент в RTE. Когда вы публикуете, а затем просматриваете вывод, вы должны увидеть, что строка в RTE имеет разделенные теги абзаца.
Последний вариант - убрать теги абзаца с вывода. Есть много новых способов сделать это, но для вашей версии Razor я бы использовал что-то вроде:
@Html.Raw(umbraco.library.RemoveFirstParagraphTag(value.ToString()))
Эта идея описана в другой статье StackOverflow .
Удачи, и, пожалуйста, дайте нам знать, если у вас все получится.