【问题标题】:Multiline TextBox multiple newline多行文本框多个换行符
【发布时间】:2011-08-20 01:45:14
【问题描述】:

我像这样为Multiline Textbox 设置了一个值。

textBox1.Text = "Line1\r\n\r\nLine2";

但是,输出中只有一个行距。

当我读取文本框的值时,我读取了"Line1\r\nLine2"

为什么 ASP.NET 不支持多于一个的换行符?

【问题讨论】:

    标签: asp.net html textbox multiline


    【解决方案1】:

    我遇到了同样的问题。如果我添加一个 Environment.Newline 我会在文本框中得到一个新行。但是如果我添加两个 Environment.Newline 我会得到一个新行。 在我的网络应用程序中,我使用了一个空格模块来删除所有不必要的空格。如果我禁用此模块,我的文本框中会出现两行新行。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      当页面 IsPostback 时,以下代码正常工作。但是当页面第一次加载时,文本区域中没有多个换行符。错误

      textBox1.Text = "Line1\r\n\r\n\r\nLine2";
      

      【讨论】:

        【解决方案3】:
        textBox1.Text = "Line1" + Environment.NewLine + "Line2";
        

        标记还需要包含 TextMode="MultiLine" (否则它将文本显示为一行)

        <asp:TextBox ID="multitxt" runat="server" TextMode="MultiLine" ></asp:TextBox>
        

        【讨论】:

        • 您使用的是哪个浏览器,我在 IE7 中检查过,FF 运行良好。我希望你已经正确输入了上面的内容!
        • 我用 IE 8 和谷歌浏览器检查了这个。结果相同。
        • 没有更新面板。但是,当我将文本框放在 updatePanel 中并在单击提交按钮时设置文本框的值时,文本框设置正确。您可以在您的开发环境中尝试此操作。奇怪的情况,可能是一个错误。
        • 其实页面回发的时候是没有问题的。
        【解决方案4】:

        textBox1.Text = "Line1\r\r\Line2";
        解决了这个问题。

        【讨论】:

          【解决方案5】:

          试试这个

          textBox1.Text = "Line1" + Environment.NewLine + "Line2";

          对我来说工作得很好......

          【讨论】:

          • 你可以使用多个Environment.NewLine
          • IE 只呈现一个新行。试试看。
          • 我正在使用txtMultiline.Text = "Line1" + Environment.NewLine + "Line2" + Environment.NewLine + "Line3";,它在所有浏览器中都能正常工作
          • 只有一个 Environment.NewLine 可以,但多个 Environment.NewLine 不起作用。例如; txtMultiline.Text = "Line1" + Environment.NewLine + Environment.NewLine + Environment.NewLine + "Line2";
          • 我正在使用txtMultiline.Text = "Line1" + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + "Line2" + Environment.NewLine + "Line3"; 并且工作正常
          【解决方案6】:

          在拖动 TextBox 的同时按 F4 选择 Properties 并在 Textmode 下设置为 Multiline,multiline 对文本框的表示是它可以在 6 边上调整大小。并且不需要包含任何 newline 字符来获取多行。可能是您将其设置为多行,但您在设计时增加了文本框的大小。

          【讨论】:

          • textBox1.Text = "Line1\r\n\r\nLine2";只出现了一个行间距。
          • 做,你在设计时增加了文本框的大小。
          • 不,完全有机会@user741356,我确信如果您在 Line1 和 Line2 之间给出“\r\r”,则文本将按照该代码的指示改变它们之间的间隙。跨度>
          • 对不起,我给错了,那是 "\r\n" 好的。它将保持差距,因为两者都增加了文本之间的出现次数。
          【解决方案7】:

          您需要将文本框设置为多行,这可以通过两种方式完成:

          在控件中:

          <asp:TextBox runat="server" ID="MyBox" TextMode="MultiLine" Rows="10" />
          

          代码隐藏:

          MyBox.TextMode = TextBoxMode.MultiLine;
          MyBox.Rows = 10;
          

          这将呈现为&lt;textarea&gt;

          【讨论】:

          • 我将它设置为多行。但是,我不能以编程方式为文本框设置多行空间。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-07-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多