2010-10-15 3 views
7

Nous avons essayé plusieurs façons de faire une boîte de texte pour accepter le "entrer", le retour à la ligne, etc .. Mais nous sommes toujours confrontés aux mêmes problèmes. La plupart des contrôles "tiers" permettent à l'utilisateur de formater le texte comme il le souhaite. Par exemple, ajoutez de la couleur, une police, une table, etc. Cependant, pour la plupart des sites Web élégants, nous ne voulons pas permettre à l'utilisateur de formater le texte de cette façon.Boîte de texte avec "nouvelle ligne"

Mais nous voulons toujours qu'ils fassent "entrer", donc nous désactivons la plupart des fonctions (Couleurs, gras, tableau, insertion d'image, etc.). Mais nous avons encore un autre problème, copier et coller. Il n'est pas rare de voir des gens qui copient de MS Word dans la zone de texte et wham, tout le style du site est horrible!

C'est pourquoi j'active la possibilité de faire ma propre boîte de texte, multiline (le net ASP) et laisse juste le droit de faire appuyer sur "Entrée" (< br />).

Quelle est la meilleure façon de procéder?

Y at-il des conseils que je dois faire attention?

Merci beaucoup!

+0

double possible de [ASP.Net Texte LineBreak de Multi-Line-TextBox pour enregistrer dans une base de données] (http://stackoverflow.com/questions/4883613/asp-net-text-with-linebreak-from-multi-line-textbox-to-save-in-a-database) –

Répondre

13

Réglez le mode TextBoxMode.MultiLine

Que ce soit dans le code-behind,

myTextBox.TextMode = TextBoxMode.MultiLine 

ou dans le balisage

<asp:TextBox TextMode="MultiLine" 

Lorsque l'utilisateur saisit du texte dans la zone de texte, il viendra retour à vous avec de nouvelles lignes comme \r\n. Si vous souhaitez afficher correctement à l'utilisateur, vous pouvez utiliser

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

Je connais Multiline !! Mais il n'accepte pas d'entrer! Je veux dire, quand un utilisateur édite sa description et l'enregistre, de nouveau à l'endroit d'admin, quand il veut juste voir cette description, si l'utilisateur appuient sur entrer pour faire un saut de ligne, il ne le verra pas! –

+2

@Simon Voulez-vous dire remplacer les touches d'entrée qu'il a entrées avec
pour l'affichage? –

+0

Yea désolé, mon anglais pas vraiment génial! Je parle d'habitude français et explique ce que je veux en anglais probablement parfois bizarre !! –

1

Pour éviter ce problème et permettre à des balises HTML dans le contrôle TextBox vous devez changer ValidateRequest de la page directive false. Vous pouvez le faire comme dans le code ci-dessous:

utilisation ValidateRequest = "false"

+0

Yup bon point. C'était quelque chose que je connaissais auparavant. Mais merci pour le conseil et pour toute autre personne qui pourrait voir ce poste. –

Questions connexes