2011-03-28 76 views
2

我有一個c#應用程序應該顯示電子郵件。電子郵件可能是HTML或純文本,但我在兩種情況下都使用網絡瀏覽器控制。問題是Web瀏覽器控制忽略了純文本的所有轉義字符,並且郵件顯示爲單行。網絡瀏覽器控件顯示純文本郵件

我正在使用的工作是將換碼符「\ n」或「\ r」替換爲<br>。有沒有其他好的方法來做到這一點。

在此先感謝。

+0

將\ n和\ r替換爲<br> – Deepak 2011-03-28 18:10:16

回答

6

可以圍繞與<pre></pre>文本(代表 「預格式化」)標籤。請參閱此處:HTML pre Tag

+0

感謝您的解決方案。它正是我所期待的。 – Deepak 2011-03-29 06:32:40

3

我想,唯一的辦法就是替換<br/>的「\ r \ n」。 爲它使用StringBuilder類。

var htmlText = new StringBuilder(text); 
htmlText.Replace("\r\n", "\n") 
     .Replace("\r", "\n") 
     .Replace("\n", "<br/>"); 
webBrowser.DocumentText = htmlText.ToString(); 
+0

如果電子郵件含有「\ r \ n」文本,該怎麼辦?例如,如果我通過電子郵件向某人發送一段代碼,該怎麼辦?在這種情況下,這種邏輯將錯誤地呈現電子郵件,並且代碼將顯示更改。 – Mangesh 2016-06-23 09:20:14

+0

@MangeshGhotage在這種情況下,您需要解析內容並僅在您想要的部分替換換行符。 – TcKs 2016-06-23 11:48:42