【问题标题】:Textbox with "new line"带有“新行”的文本框
【发布时间】:2011-04-26 01:21:39
【问题描述】:

我们尝试了几种方法来使文本框接受“输入”、换行符等。但我们仍然面临同样的问题。大多数“第三方”控件允许用户根据需要设置文本格式。例如,添加颜色、字体、表格等。但是,对于大多数时尚网站,我们不希望用户以这种方式格式化文本。

但我们仍然希望它们“输入”,因此我们禁用了大多数功能(颜色、粗体、表格、插入图像等)。但是我们还有另一个问题,复制和粘贴。在文本框中看到从 MS Word 复制的人并不少见,网站的所有风格都很糟糕!

这就是为什么我打开了制作我自己的文本框的可能性,多行(ASP.Net),然后让制作权按“Enter”()。

最好的方法是什么?

我有什么需要注意的提示吗?

谢谢!

【问题讨论】:

标签: asp.net .net-4.0 textbox richtextbox


【解决方案1】:

为避免此问题并允许 TextBox 控件中的 HTML 标记,您需要将 Page 指令的 ValidateRequest 更改为 false。你可以像下面的代码那样做:

使用 ValidateRequest="false"

【讨论】:

  • 是的,好点。不过那是我以前知道的。但是感谢您的建议以及任何其他可以看到这篇文章的人。
【解决方案2】:

设置模式为TextBoxMode.MultiLine

在代码隐藏中,

myTextBox.TextMode = TextBoxMode.MultiLine

或在标记​​中

<asp:TextBox TextMode="MultiLine"

当用户在 TextBox 中输入文本时,它会以 \r\n 的新行返回给您。如果您想正确地向用户显示它,您可以使用

myTextBox.Text.Replace(Environment.NewLine, "<br />")

【讨论】:

  • 我知道多行!!但它不接受输入!我的意思是,当用户编辑他的描述并保存它,回到管理位置,当他只想看到这个描述时,如果用户按回车换行,他就看不到它!
  • @Simon 你的意思是把他输入的回车键换成
    来显示吗?
  • 是的,对不起,我的英语不太好!我通常说法语并用英语解释我想要的东西可能有时听起来很奇怪!
  • 好的,刚刚看到你的最新更新。同样,当他再次回来编辑时,我应该在文本框中将“
    ”替换为“Environment.NewLine”se,他会正常看到它!伟大的 !谢谢你!

  • 替换新行。这就是我一直在寻找的。谢谢尤里
猜你喜欢
  • 2016-05-29
  • 1970-01-01
  • 2013-12-05
  • 2019-04-30
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多