MultiLine的TextBox不能保存换行符?

Tenner 2007-06-28 10:24:55
我在一个WebPage里有一个TextBox, MultiLine = True.
我现在想在提交页面后把用户在其中输入的内容保存到服务器上的一个文本文件里
我使用 StreamWriter.Write(textBox1.Text) 的方法保存后, 发现里面的换行符都消失了, 所有内容都在一行里(输入的时候内容是多行的, 用回车换的行)
后来我又换成了TextArea, InnerText和InnerHtml都试了, 都不行

请问这怎么解决?
...全文
2191 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
jfree2007 2010-10-13
  • 打赏
  • 举报
回复
楼主,我也遇到这个问题。我用的是ListBox。
是不是和CF_TEXT这个格式有关啊?
在其他的文本编辑器中是可以正常显示的,唯独记事本和写字板不行。


fsfcvictor 2008-09-24
  • 打赏
  • 举报
回复
LZ,我遇到和你一模一样的问题,都是postback就不行了,后来把<form method="post">改成<form method="get">就搞定了
tylxyfy 2008-04-07
  • 打赏
  • 举报
回复
哈哈哈,老帖还是解不掉呀
让俺这个菜鸟来高诉你们吧,不过不知道楼主会不会看了

楼主,小样,你用的是TextBox吗,你明明用的是RichTextBox,Rich这烂货我也不知道它和'\r'怎么了,就是不能打交道

楼上的那几位全是用的TextBox,一切正常,我只能告诉你用TextBox吧,用Rich我也帮不了你。
Tenner 2007-07-11
  • 打赏
  • 举报
回复
我自己也新建工程测试过,是没问题的
就是在我现在这个项目里不行
所有的TextBox都不行

想请教高手有哪些地方可能会导致这个现象出现?
amandag 2007-07-09
  • 打赏
  • 举报
回复
测试过有换行..
sendling 2007-07-09
  • 打赏
  • 举报
回复
一个难题呀!
SassyBoy 2007-07-09
  • 打赏
  • 举报
回复
学习了。
Tenner 2007-07-09
  • 打赏
  • 举报
回复
楼上的,在调用的你代码时,要这么写吧:

string data = EncodeStr(textBox1.Text);

那么在程序运行到这句时,textBox1.Text 里的换行已经消失了,在postback时消失的
我现在要解决的是这个问题
xuyiazl 2007-07-09
  • 打赏
  • 举报
回复
/// <summary>
/// 过滤字符输入
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string EncodeStr(string str)
{
str = str.Replace("&", "&");
str = str.Replace("\"", """);
str = str.Replace(" ", " ");
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("\n", "<br>");
return str;
}

/// <summary>
/// 还原过滤前的数据
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string DecodeStr(string str)
{
str = str.Replace("<br>", "\n");
str = str.Replace(">", ">");
str = str.Replace("<", "<");
str = str.Replace(" ", " ");
str = str.Replace(""", "\"");
return str;
}


可以先替换成HTML标签在存入TXT文本
路人乙e 2007-07-04
  • 打赏
  • 举报
回复
<span onmouseover="sp.innerText=TextBox1.value;var s=sp.innerHTML;for(i=0;i<s.length;i++)s=s.replace('<BR>','\\n');con.value=s;">
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button></span>
<span id=sp></span><input id=con type=text runat=server>
Tenner 2007-07-04
  • 打赏
  • 举报
回复
Row设的是10

现在的现象是: 只要页面一PostBack(比如在页面上放一个<asp:Button>,不设置任何事件,单击它的时候页面会PostBack),此时页面再刷新后,所有当前页面上的TextBox中的换行都会自动消失
比如之前页面上有一个TextBox的值是:
123
456
在单击了这个按钮后(这个按钮根本就没写click事件,也就是单击实际上不做任何事,只是生成一个postback而已),这个TextBox的值马上就变成了:
123456

这就是造成我的问题的原因,在postback时换行就已经没了,根本就还没有到读出来以后替换不替换的问题
wuxing2006 2007-07-03
  • 打赏
  • 举报
回复
如果還不行檢查
Wrap屬性是否為真

檢查Row屬性是否為0,改成一個數據試試
wuxing2006 2007-07-03
  • 打赏
  • 举报
回复
VS2003测试也没有问题,确保你敲入的是硬回车 ,要不
sw.Write(textArea1.Value.Replace("\r\n",System.Environment.NewLine));
试试

試這個如果不行

sw.Write(textArea1.Value.Replace("\n",System.Environment.NewLine));

因為根據系統環境換行符不一樣
qq283738671 2007-07-03
  • 打赏
  • 举报
回复
数据和字母好像是不行的
路人乙e 2007-07-03
  • 打赏
  • 举报
回复
cs代码全贴保证很快解决!
Tenner 2007-07-03
  • 打赏
  • 举报
回复
请各位大大们帮忙分析一下可能是哪里的问题,谢谢了!
Tenner 2007-07-02
  • 打赏
  • 举报
回复
我也新建了一个项目试了一下,确实没问题
就是在现在这个项目里有问题
我想问一下项目里的哪些配置可能会影响到这个问题?
sujianhua 2007-07-02
  • 打赏
  • 举报
回复
Tenner(BE.Tenner) ( ) 信誉:100 Blog 加为好友 2007-6-29 14:04:21 得分: 0

我发现现在是只要一PostBack,文本框里的换行就会消失,非常奇怪
我加了一个按钮,什么也不做的,只要一点,所有文本框里的换行自动就消失了

========================================================================
不知道你完善的程序,不好分析原因,你重新做一个单独页面试试,我试了,没问题的



Tenner 2007-07-02
  • 打赏
  • 举报
回复
拜托,和记事本没有关系
Arieslns 2007-07-02
  • 打赏
  • 举报
回复
记事本有个自动换行选项,勾上了再看看效果。
加载更多回复(23)

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧