2010-10-15 12 views
7

Hemos intentado de varias formas hacer un cuadro de texto para aceptar "enter", nueva línea, etc. Pero todavía estamos enfrentando los mismos problemas. La mayoría de los controles de "terceros" permiten al usuario formatear el texto como lo desea. Por ejemplo, agregue color, fuente, tabla, etc. Sin embargo, para los sitios web más elegantes, no queremos permitir que el usuario formatee el texto de esa manera.Cuadro de texto con "nueva línea"

Pero aún queremos que hagan "enter", por lo que desactivamos la mayoría de las funciones (colores, negrita, tabla, insertar imagen, etc.). Pero todavía tenemos otro problema, copiar y pegar. No es raro ver a personas que copian de MS Word en el cuadro de texto y, ¡todo el estilo del sitio es horrible!

Es por eso que enciendo la posibilidad de hacer mi propio cuadro de texto, multilínea (ASP.Net) y simplemente dejo el derecho de presionar "Enter" (< br />).

¿Cuál es la mejor manera de proceder?

¿Hay algún consejo que tenga que tener en cuenta?

¡Gracias!

+0

duplicado posible de [Texto ASP.Net con LineBreak de Multi-Line-Cuadro de texto para guardar en una base de datos] (http://stackoverflow.com/questions/4883613/asp-net-text-with-linebreak-from-multi-line-textbox-to-save-in-a-database) –

Respuesta

13

ajuste el modo en TextBoxMode.MultiLine

Ya sea en el código subyacente,

myTextBox.TextMode = TextBoxMode.MultiLine 

o en el marcado

<asp:TextBox TextMode="MultiLine" 

Cuando el usuario introduce texto en el cuadro de texto, que vendrá de nuevo con nuevas líneas como \r\n. Si desea visualizar correctamente para el usuario, se puede usar

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

Sé que Multiline !! ¡Pero no acepta entrar! Quiero decir, cuando un usuario edita su descripción y la guarda, vuelve al lugar de administración, cuando solo quiere ver esta descripción, si el usuario presiona enter para hacer un salto de línea, ¡no lo verá! –

+2

@Simon ¿Quiere decir reemplazar las teclas enter que ingresó con
para visualizar? –

+0

¡Sí, lo siento, mi inglés no es realmente genial! Por lo general, hablo francés y me explico lo que quiero en inglés, ¡aunque a veces suena raro! –

1

Para evitar este problema y permitir que las etiquetas HTML en el control de cuadro de texto tiene que cambiar ValidateRequest de directiva de página en false. Puede hacerlo como en el código de abajo:

uso ValidateRequest = "false"

+0

Yup buen punto. Eso era algo que sé antes sin embargo. Pero gracias por los consejos y por cualquier otra persona que pueda ver esta publicación. –

Cuestiones relacionadas