2009-10-20 5 views
0

Мне просто интересно об этом. Я создаю веб-форму ASP.NET, содержащую множество текстовых полей и т. Д. И я хочу отправить электронное письмо на основе этого материала. И тело электронной почты должно войти в строку.Упростить тело электронной почты в строке?

И строка должна содержать HTML-код, но синтаксис изменяется из-за строки. Итак, как я могу это упростить? Есть ли какое-либо программное обеспечение или что-то такое, что позволяет мне это делать? Возможно, вставьте некоторый код HTML, а затем преобразуйте его в строковый формат, готовый для использования с vb.net?

ответ

2

Если я правильно понимаю, вы хотите создать HTML-письмо с пользовательского ввода через текстовые поля. Если да, то вы можете легко генерировать HTML с помощью HtmlTextWriter:

StringBuilder sb = new StringBuilder(); 
using(HtmlTextWriter writer = new HtmlTextWriter(new StringWriter(sb))) 
{ 
    writer.WriteBeginTag("span"); 
    writer.WriteAttribute("style", "font-weight:bold;"); 
    writer.Write(HtmlTextWriter.TagRightChar); 
    writer.Write(textboxName.Text); 
    writer.WriteEndTag("span"); 
} 
return sb.ToString(); 

выше будет генерировать строку, которая выглядит как:

<span style="font-weight:bold;">user input</span> 

HtmlTextWriter делает его очень легко обеспечить разметку семантически правильно и действительным путем подражания писателям XML.

+0

Действительно ли это самый эффективный способ? Не нужен ли вам огромный код, просто для какого-то простого html? Что делать, если я хочу создать гораздо большую строку HTML? Было бы разумно добавить HTML-код в текстовый файл, а затем просто прочитать текстовый файл в виде строки? –

0

Для преобразования отформатированной строки HTML обратно в обычный текст на эту ссылку,

[http://www.dreamincode.net/code/snippet1578.htm][Strip HTML из строки с помощью регулярных выражений]

Это только полосе тегов и не удаляет HTML символов, как амперсанд, но он заставит вас начать.

Смежные вопросы