Настройка содержимого RadEditor на полный HTML и получение полного HTML

Мой сценарий. Я использую элемент управления RadEditor в качестве редактора формы, которую пользователь заполняет для отправки сообщения электронной почты. RadEditor — это место, где пользователь вводит текст письма. У нас есть несколько шаблонов электронной почты, хранящихся в виде HTML в нашей базе данных, которые пользователь может выбрать в раскрывающемся списке в форме. Шаблоны представляют собой полный HTML со своими собственными тегами заголовка и тегами стиля со своими собственными стилями.

Мой вопрос: Могу ли я установить для содержимого RadEditor полный HTML-код моих шаблонов? Я хотел бы установить для содержимого редактора полный HTML-код и получить полный HTML-код из RadEditor на сервере с программным кодом. В настоящее время я пытаюсь это сделать, но когда я использую свойство .Content редактора, я получаю только то, что находится внутри тегов <body>, а не полный HTML. Это проблематично, когда мне нужно сохранить содержимое редактора обратно в базу данных после того, как пользователь ввел содержимое, потому что мне нужно сохранить полный HTML-код в базе данных.

Является ли мой подход неправильным, и вместо этого я должен пытаться сохранить и получить только тело HTML-кода редактора, а не полный HTML-код? В таком случае, как мне поступить с разными стилями, которые необходимо применять для каждого моего шаблона электронной почты?

Обратите внимание, что я использовал настройку ContentAreaMode="Iframe" редактора.

Спасибо!!!


person unnknown    schedule 04.02.2013    source источник
comment
Я ошибаюсь. Свойство .Content действительно возвращает полный HTML-код после того, как я установил для него полный HTML-код.   -  person unnknown    schedule 05.02.2013


Ответы (1)


Я думаю, что ваш подход правильный. Как это сделать:

  1. Вместо сохранения «полного HTML» в базе данных сохраните RadEditor.Content HTML и (в другом столбце) идентификатор выбранного HTML-шаблона. Это будет хорошо, если они когда-нибудь захотят изменить шаблон.

  2. Ваши шаблоны HTML могут иметь некоторый тип «заполнителя», чтобы вы знали, куда «вставить» HTML из RadEditor. Допустим, ваш HTML-шаблон содержит текст %%BODY%%.

Когда вы будете готовы отправить электронное письмо, получите шаблон, RadEditor.Content (либо из обратной передачи, либо из запроса к базе данных) и объедините их. Что-то типа

string htmlTemplate = //your HTML template from your database
string body = htmlTemplate.Replace("%%BODY%%", RadEditor.Content); //the string 'body' is what will be sent as your email body.
person MikeSmithDev    schedule 04.02.2013
comment
Это звучит как отличная идея. Я буду смотреть в него. Спасибо! - person unnknown; 05.02.2013