2011-03-28 5 views
2

전자 메일을 표시해야하는 C# 응용 프로그램이 있습니다. 전자 메일 HTML 또는 일반 텍스트 수 있지만 두 경우 모두 웹 브라우저 컨트롤을 사용하고 있습니다. 문제는 웹 브라우저 컨트롤이 일반 텍스트의 모든 이스케이프 문자를 무시하고 메일이 한 줄로 나타나는 것입니다.웹 브라우저 컨트롤에 일반 텍스트 메일 표시

내가 사용하고있는 해결 방법은 "\ n"또는 "\ r"의 이스케이프 문자를 <br>으로 바꾸는 것입니다. 이것을하기위한 다른 좋은 방법이 있습니까?

미리 감사드립니다.

+0

\ n 및 \ r을 <br> – Deepak

답변

6

당신은 <pre></pre>로 텍스트를 둘러싸고 있습니다 태그 ("미리 포맷"의 약자). 다음을 참조하십시오 : HTML pre Tag

+0

솔루션에 감사드립니다. 그게 내가 찾고 있던 바로 그거야. – Deepak

3

제가 생각하는 유일한 방법은 "\ r \ n"을 <br/>으로 대체하는 것입니다. 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

+0

@MangeshGhotage 그런 경우 내용을 파싱하고 원하는 부분에서만 개행을 교체해야합니다. – TcKs

관련 문제