Codificación HTML con ASP.NET

Actualmente estoy html codificando todo el texto ingresado por el usuario antes de insertar / actualizar un registro de tabla db. El problema es que en cualquier actualización posterior, la cadena previamente codificada se vuelve a codificar. Este ciclo sin fin está comenzando a consumir mucho espacio de columna en mis tablas. Estoy utilizando consultas parametrizadas para todas las sentencias SQL, pero me pregunto si sería seguro dejar que .NET Framework maneje esta parte sin la encoding HTML.

Siempre debe codificar HTML los datos del usuario al mostrarlos , nunca al almacenarlos . Guarde la entrada del usuario en DB (usando consultas parametrizadas o lo que sea para evitar la inyección de SQL) y luego codifique HTML al emitir los datos. De esa forma nunca tendrás este problema.

La encoding HTML está integrada en el marco ASP.NET real simplemente. Así es como lo haces:

 <%= Html.Encode(yourStuff) %>  <%: yourStuff %> 

No recomendaría codificar los datos en la base de datos.

La encoding no tiene nada que ver con los datos, pero está dirigida específicamente a la forma en que se muestran los datos. ¿Qué sucede si desea que una aplicación cliente use estos datos en el futuro o alguna otra pantalla que no sea HTML?

Debe almacenar los datos como datos sin formato en sus tablas y las aplicaciones, o la capa que las aplicaciones de servicios deben manejar la encoding a los formatos que sean necesarios.

El .NET framework puede hacerlo fácilmente por usted. Solo recuerda usar HtmlEncode o en ASP.NET 4 <%: Debería hacer esto para CUALQUIER dato que necesite presentar que sea dynamic.

Almacenarlo en la base de datos codificada no solo le causará problemas hoy, sino que continuará en el futuro.

puedes guardar la entrada con encoding , y al momento de actualizar la deencoding, la actualizas y la guardes de nuevo usando encoding y en el momento del show no necesitas hacer nada … esto te dará un beneficio … no necesitas codificar una y otra vez a la hora del espectáculo … pero un problema puede ser que quieras cambiar en rowdatabound, entonces deberías decodificar, luego cambiar y codificar de nuevo 🙂 🙂 happy coding