2012-10-09 2 views
4

웹 페이지에 표시하기 전에 내용의 서식을 지정하고 싶습니다. '\ r \ n \'을 (를) 데이터베이스에 입력하고 웹 페이지에 내용을 표시하기 전에 바꾸려고합니다. 서버 측 코드 :웹 페이지에서 줄을 끊는 방법?

lblComments.Text = Server.HtmlEncode(((DataRowView)e.Item.DataItem).Row["Comment"].ToString().Replace("\r\n", "<br>")); 

나는 Server.HtmlEncode을 사용하고 있습니다.

Comment Type: Public 
Comment: Commented on the Data by user A 

그러나, 그 날은 한 줄에 모든 것을 보여줍니다

내 아웃 풋은해야한다. 당신이 <br/> 자체가 &lt;br/&gt; (원시)로 인코딩 된 얻을 싶지 않기 때문에

+1

실제 출력은 무엇입니까없이 일

Replace("\n", "<br>") 

시도? 렌더링 된 페이지의 소스를 볼 때'
'요소가 보이거나'\ r \ n '을 얻었습니까? – Oded

+0

'\ r \ n'에주의하십시오. Windows에서만 사용되는 줄 종결 자입니다. 유닉스/맥 형식 파일을 다루지 않아도 될까요? – Benj

답변

2

당신은 말 그대로 <br/>로 표시,

.Replace("\r\n", "<br/>") 

AFTER Server.HtmlEncode를 사용해야합니다.

+0

'
'이 HTML로 인코딩 된 경우 페이지에 '
'이 표시 될 것으로 예상됩니다. 그것은 OP가 게시 한 것이 아닙니다. – Oded

0

줄 바꿈을 <br>으로 바꾸는 대신 <pre>...</pre> 요소에 출력을 래핑 할 수 있습니다. 그런 식으로 줄 바꿈을 보존해야합니다.

예. 레이블 주위에 <pre> 요소를 넣어 :

<pre><asp:Label id="lblComments" runat="server" /></pre> 
0

이 시험은 인코딩

string comments = @"Comment Type: Public 
Comment: Commented on the Data by user A"; 
lblComments.Text = comments.Replace("\n","<br>"); 
관련 문제