Как присвоить значение HTML строковой переменной asp.net - PullRequest
0 голосов
/ 29 мая 2010

Я использую asp.net и C #. Я хочу отправить письмо своему пользователю в формате HTML, у меня есть содержимое в формате HTML, скажем, вот так

    <table style="width:100%;">
     <tr>
       <td style="width:20%; background-color:Blue;"></td>
       <td style="width:80%; background-color:Green;"></td>
     </tr>
    </table>

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

Кроме того, обратите внимание, что приведенный выше код является только демо, у меня есть около 100 строк HTML-кода.

Ответы [ 3 ]

2 голосов
/ 29 мая 2010

Я бы просто держал его в HTML-файле, который вы открываете и читаете по мере необходимости. Старый добрый System.IO.File.ReadAllText(). Помещение большой строки прямо в ваш исходный код просто требует частой повторной компиляции и развертывания.

1 голос
/ 29 мая 2010
string myHtml = @"<table style=""width:100%;"">
     <tr>
       <td style=""width:20%; background-color:Blue;""></td>
       <td style=""width:80%; background-color:Green;""></td>
     </tr>
    </table>";

Или я неправильно понял ваш вопрос? В таком случае, с какой проблемой вы сталкиваетесь и на каком этапе?

1 голос
/ 29 мая 2010

Если вы хотите явно объявить строку в коде:

string html =
@"<table style=""width:100%;""> 
     <tr> 
       <td style=""width:20%; background-color:Blue;""></td> 
       <td style=""width:80%; background-color:Green;""></td> 
     </tr> 
    </table>";

В ответ на ваш комментарий для вставки значений достаточно просто использовать StringBuilder для построения строки в памяти, например,

var html = new StringBuilder("<table style=\"width:100%;\">");
html.Append("<tr>");
html.Append("<td style=\"width:20%; background-color:Blue;\">");
html.Append(yourAuthorNameString);
//etc...

или перейдите к подходящему HTML-сборщику или системе шаблонов, например, HTML Agility Pack или NVelocity

...