2010-05-28 134 views
0

我正在使用asp.net和C#。我想發送郵件到我的HTML格式的用戶,我在HTML格式的內容,讓這樣說如何將HTML值分配給一個asp.net字符串變量

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

現在,我無法這樣分配給一個字符串變量,這樣我就可以把它作爲一個郵件。 請讓我知道如何將整個HTML內容綁定到varibale。

此外,請注意,上面的代碼只是一個演示,我有大約100行的HTML代碼。

回答

1

如果你想顯式聲明字符串代碼:

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 PackNVelocity

+0

-1:轉義序列'\「'不會按照你預期的那樣在一個前綴爲」@「的字符串中使用,而是使用加倍的雙引號(he-he) – 2010-05-28 21:08:24

+0

正好解決了這個問題。如果提問者想保留換行符,並且忘記切換轉義字符,那麼@我逃過了字符串。 – jball 2010-05-28 21:10:26

+0

Ok,取消了-1。 – 2010-05-28 21:14:01

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>"; 

還是我誤解了你的問題?在那種情況下,你遇到什麼問題以及在什麼階段?

+0

Hi Fyodor , 這是工作爲我好,但我想在這些代碼之間的分配值,像這樣的​​MYVARIABLE – Zerotoinfinity 2010-05-28 21:17:58

2

我只是把它保存在一個html文件中,根據需要打開並閱讀。好老System.IO.File.ReadAllText()。直接在源代碼中放入一個大字符串只是需要頻繁的重新編譯和部署。

+0

之間這是偉大的,但我的問題是這樣的,我必須把我的參數成HTML代碼,例如會員名稱,文章名稱,網址等 ..我該如何做到這一點?請幫忙 – Zerotoinfinity 2010-05-28 21:13:05

+0

你已經回答了你提出的問題。如果你想回答不同的問題,你應該首先提出這個問題。我建議你繼續並提出另一個問題。 – 2010-05-28 21:14:58

+0

嗨Fyodor, 我感謝您的關注,但是你想我發表另一個問題,只是問我怎麼可以把一個變量,在你提供的HTML例子,即使在這種情況下,我必須提供鏈接到這篇文章讓用戶更容易理解問題。 – Zerotoinfinity 2010-05-28 21:24:16