SPGridView, datos y método correcto para garantizar que los datos estén seguros

Estoy usando un SPGridView para presentar algunos datos, y he habilitado la capacidad de filtrado que funciona muy bien. Hasta que elija un elemento en particular en los datos para filtrar en ...

El elemento de datos en cuestión tiene un apóstrofe en la cadena (por ejemplo, "esta es la cadena de richards"), lo que hace que la carga de la página de la aplicación posterior al filtro muera con el error:

Syntax error: Missing operand after 's' operator. 

Obviamente los datos no se hacen automáticamente seguros ...

Los datos están en una tabla de datos y SPGridView se alimenta utilizando una fuente de datos de objeto usando la tabla de datos.

¿Cuál es el mejor método, o el correcto, para garantizar que los datos sean seguros de usar?

EDITAR:

Después de mucho crujir, he encontrado una respuesta parcial, pero la pregunta sigue siendo.

La respuesta parcial es: puede hacer que los datos sean seguros para el código del filtro, pero luego no puede hacer que se vea correctamente en la interfaz gráfica de usuario desplegable del filtro.

Añadiendo BoundField.HtmlEncode = true; a la definición SPGridView no hace nada.

El uso de HttpUtility.HtmlEncode en la cadena no hace nada.

Reemplazar manualmente todos los apóstrofes en los datos con el símbolo # 39; al insertarse en el DataTable, el filtro funciona bien y los datos se muestran bien en SPGridView, pero se muestran con la cadena de reemplazo html en el menú desplegable del filtro, y no con el carácter de apóstrofe. Esta es la solución parcial, y no es realmente utilizable, ya que crea una cadena de filtro horrible que es visible para el usuario final.

Todavía tengo que encontrar una solución completa a este problema, excepto la eliminación de caracteres ofensivos de los datos, lo que no es realmente una solución.

Saludos Richard

Respuestas a la pregunta(1)

Su respuesta a la pregunta