文本框中換行、空格的轉換

vs2005 2009-04-08 10:35:40 閱讀129 評論0   字號: 訂閱

C#中,當我們在文本框(TextBox)中輸入數據時,我們即可換行(多行文本框MultiLine),也可以打出空格。但是,當我們把文本框中的數據讀出,用另一個控件顯示 或者直接用Response.Write顯示時卻無法按我們預期的效果顯示換行與空格:換行以及空格(多個空格也一樣)都以一個空格顯示。因此我們需要一種能轉換空格和換行的方法:

      C#中換行用" /r/t "表示,/r、/n的Unicode碼分別爲13、10;表示空格的Unicode碼爲32。

1、換行符 轉換:(有以下三種)

(1) string newline=TextBox1.Text.Replace("/x0D/x0A", "<br />"); 

(2) string newline=TextBox1.Text.Replace("/r/n", "<br />"); 

(3) string newline = TextBox1.Text.Replace(Char.ConvertFromUtf32(13)+Char.ConvertFromUtf32(10), "<br />");

//<br />是本人習慣,也可以寫成<br>

2、空格 轉換:(2種)

(1) string newline=TextBox1.Text.Replace("/x20", "&nbsp;"); 

(2) string newline=TextBox1.Text.Replace(Char.ConvertFromUtf32(32), "&nbsp;");

如果您跟我有一樣的習慣,喜歡用<br />的話:如果你換行、空格都要轉換,務請先轉換空格,再轉換換行,否則無法換行顯示。個人認爲:空格轉換把換行轉換成的<br />中的空格也轉換了。

如:

Label1.Text = (TextBox1.Text.Replace( Char.ConvertFromUtf32(32), "&nbsp;")).Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "<br />");

或者

Label1.Text = (TextBox1.Text.Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "<br>").Replace( Char.ConvertFromUtf32(32), "&nbsp;"));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章