1

私は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 コードがあります。

4

4 に答える 4

2

コードで文字列を明示的に宣言する場合:

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 Agility PackNVelocityなどの適切な HTML ビルダーまたはテンプレート システムに移動します。

于 2010-05-28T21:05:57.440 に答える
2

必要に応じて開いて読み込むhtmlファイルに保存します。古き良きSystem.IO.File.ReadAllText()。ソースに大きな文字列を直接配置することは、頻繁な再コンパイルと展開を求めているだけです。

于 2010-05-28T21:09:39.047 に答える
1
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>";

または、私はあなたの質問を誤解しましたか? その場合、どのような問題がどの段階で発生しますか?

于 2010-05-28T21:07:30.463 に答える