ASP.NET Web项目中C#给TextBox赋值时换行符不生效怎么办
问题原因
- ASP.NET 服务端控件
TextBox默认的TextMode属性为SingleLine(单行模式),该模式下会忽略所有换行符,所有内容强制在一行展示。 - 少数已开启多行模式仍失效的场景,通常是换行符格式和控件预期不匹配,90%以上的该类问题都是未开启多行模式导致。
解决步骤
- 修改你aspx前端页面中
TextBox1的定义,添加TextMode="MultiLine"属性开启多行模式,可同时设置Rows属性指定控件默认展示行数,示例代码:
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Rows="8" Width="400px"></asp:TextBox>
- 后端代码无需修改,你当前使用的
Environment.NewLine可以在多行TextBox中正常识别为换行。
注意:如果你后续需要将同类文本输出到Label、Div等普通HTML展示元素中,需要将换行符替换为HTML识别的
<br/>标签,替换示例:// 仅用于非输入类HTML元素的换行 string outputText = 原文本.Replace(Environment.NewLine, "<br/>");
内容的提问来源于stack exchange,提问作者explorercrypto
相关产品推荐
相关产品推荐

