Textbox with “new line”

2020-03-17 04:01发布

问题:

We tried several ways to make a textbox to accept the "enter", newline, etc.. But we are still facing the same problems. Most of the "Third party" controls allow the user to format the text as he wants. Eg, add color, font, table, etc.. However, for most stylish websites, we do not want to allow the user to format the text that way.

But we still want them to make "enter", so we disable most functions (Colors, bold, table, insert image, etc.). But we still have another problem, copy and paste. It is not uncommon to see people that copy from MS Word in the textbox and wham, all the style of the site is awful!

That is why I turn on the possibility of making my own textbox, multiline (the ASP. Net) and just let the right to make press "Enter" (< br / >).

What is the best way to proceed?

Is there any tips that I have to watch out?

Thank you!

回答1:

Set the mode to TextBoxMode.MultiLine

Either in the code-behind,

myTextBox.TextMode = TextBoxMode.MultiLine

or in the markup

<asp:TextBox TextMode="MultiLine"

When the user enters text in the TextBox, it will come back to you with new lines as \r\n. If you'd like to display it properly to the user, you could use

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


回答2:

To avoid this problem and allow HTML tags in TextBox control you need to change ValidateRequest of Page directive to false. You can do it like in code bellow:

use ValidateRequest="false"