【问题标题】:New Line Character not Recognized in ASP .Net Text BoxASP .Net 文本框中无法识别换行符
【发布时间】:2021-02-12 15:52:14
【问题描述】:

我想在文本框中显示带有新行的数据。我将评论保存在 DB 中,然后在 UI 上显示数据。

下面是.aspx代码:-

<asp:TextBox ID="comment" TextMode="MultiLine" runat="server"
            Rows="5" Columns="100" CssClass="multiline-text"></asp:TextBox>

这是我的数据库评论:-

This is test Comment./r/n Please do some reply on this.

它在 UI 上的显示方式:-

This is test Comment./r/n Please do some reply on this.

然后我更新了数据库评论:-

This is test Comment.<br /> Please do some reply on this.

它在 UI 上的显示方式:-

This is test Comment.<br /> Please do some reply on this.

我可以在 asp .net 文件或数据库中更改什么,以便数据在文本框中以新行显示。

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc


    【解决方案1】:

    这里有几点要提一下:

    1. 你实际上使用了错误的escape sequences,它应该是\r\n(反斜杠而不是斜杠)
    2. 如果您从其他地方(例如数据库)获取此数据,它可能会被正确转义
      考虑在调试时检查字符串以验证实际来自您的源代码
    3. 验证文本后,您可以用正确的转义字符替换必要的字符:
      假设这是作为变量 myText:
      This is test Comment.\r\n Please do some reply on this.
      中的文本出现 那你可以想到This is test Comment.\\r\\n Please do some reply on this.
      您可以执行以下操作:
    comment.Text = myText.Replace("\\r\\n", "\n"); // replace text "\r\n" by a new line escape sequence
    

    【讨论】:

      【解决方案2】:

      您可以使用 Wrap 属性显示具有多行属性的 ASP.Net 文本框,以在到达末尾时自动继续下一行。

      &lt;asp:TextBox ID="comment" TextMode="MultiLine" runat="server" Wrap="true" Rows="5" Columns="100" CssClass="multiline-text"&gt;&lt;/asp:TextBox&gt;

      此外,您可以在您的 css 类中添加这一行,以确保在 &lt;br&gt; 处换行并保留空白。

      word-wrap: break-word;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-16
        • 1970-01-01
        相关资源
        最近更新 更多