代码之家  ›  专栏  ›  技术社区  ›  Simon Dugré Metin Atalay

带“新行”的文本框

  •  7
  • Simon Dugré Metin Atalay  · 技术社区  · 14 年前

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

    但我们仍然希望它们设置为“回车”,所以我们禁用了大多数功能(颜色、粗体、表格、插入图像等)。但是我们还有另一个问题,复制和粘贴。在文本框和wham中看到从ms-word复制的人并不少见,网站的所有样式都很糟糕!

    这就是为什么我打开了自己的文本框,多行(ASP)的可能性。net),然后让右边的人按“回车”(<br/>)。

    最好的方法是什么?

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

    谢谢您!

    2 回复  |  直到 10 年前
        1
  •  13
  •   Yuriy Faktorovich    14 年前

    将模式设置为 TextBoxMode.MultiLine

    不管是在代码后面,

    myTextBox.TextMode = TextBoxMode.MultiLine
    

    或者在标记中

    <asp:TextBox TextMode="MultiLine"
    

    当用户在文本框中输入文本时,它将以如下方式返回给您 \r\n . 如果您想向用户正确显示它,可以使用

    myTextBox.Text.Replace(Environment.NewLine, "<br />")
    
        2
  •  1
  •   Jitu    12 年前

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

    使用validateRequest=“false”