C#中,當我們在文本框(TextBox)中輸入數據時,我們即可換行(多行文本框MultiLine),也可multilin 文本框輸入以打出空格。但是,當我們把文本框中的數據讀出,用另文本框數據空格一個控件顯示 或者直接用Response.Write顯示時卻無法按我們預期的respons write 顯示效果顯示換行與空格:換行以及空格(多個空格也一樣)效果顯示一樣都以一個空格顯示。因此我們需要一種能轉換空格和換行的方法:
C#中換行用"\r\n"表示,\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", " ");
2 string newline=TextBox1.Text.Replace(Char.ConvertFromUtf32(32), " ");
如果您跟我有一樣的習慣,喜歡用<br />的話:如果你換喜歡一樣如果行、空格都要轉換,務請先轉換空格,再轉換換行,否則空格轉換否則無法換行顯示。個人認為:空格轉換把換行轉換成的<br個人顯示空格 />中的空格也轉換了。
如:
Label1.Text = (TextBox1.Text.Replace( Char.ConvertFromUtf32(32), " ")).Replace(Char.ConvertFromUtf32(13) Char.ConvertFromUtf32(10), "<br />convertfromutf textbox replac;");
或者
Label1.Text = (TextBox1.Text.Replace(Char.ConvertFromUtf32(13) Char.ConvertFromUtf32(10), "<br>").Replace( Char.ConvertFromUtf32(32), " convertfromutf textbox replac;"));