文本框中换行、空格的转换

    C#中,当我们在文本框(TextBox)中输入数据时,我们即可换行(多行文本框MultiLine),也可以打出空格。但是,当我们把文本框中的数据读出,用另一个控件显示 或者直接用Response.Write显示时却无法按我们预期的效果显示换行与空格:换行以及空格(多个空格也一样)都以一个空格显示。因此我们需要一种能转换空格换行的方法:
      C#中换行用" /r/t "表示,/r、/n的Unicode码分别为13、10;表示空格的Unicode码为32。

1、换行符 转换:(有以下三种)
(1) string newline=TextBox1.Text.Replace("/x0D/x0A", "
"); 
(2) string newline=TextBox1.Text.Replace("/r/n", "
"); 
(3) string newline = TextBox1.Text.Replace(Char.ConvertFromUtf32(13)+Char.ConvertFromUtf32(10), "
");
//
是本人习惯,也可以写成


2、空格 转换:(2种)
(1) string newline=TextBox1.Text.Replace("/x20", " "); 
(2) string newline=TextBox1.Text.Replace(Char.ConvertFromUtf32(32), " ");

如果您跟我有一样的习惯,喜欢用
的话:如果你换行、空格都要转换,务请先转换空格,再转换换行,否则无法换行显示。个人认为:空格转换把换行转换成的
中的空格也转换了。
如:
Label1.Text = (TextBox1.Text.Replace( Char.ConvertFromUtf32(32), " ")).Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "
");
或者
Label1.Text = (TextBox1.Text.Replace(Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10), "
").Replace( Char.ConvertFromUtf32(32), " "));

你可能感兴趣的:(【ASP.NET】)