SPGridView, данные и правильный метод обеспечения безопасности данных

Я использую SPGridView для представления некоторых данных и включил возможность фильтрации, которая работает очень хорошо. Пока вы не выберете определенный элемент данных для фильтрации ...

У рассматриваемого элемента данных есть апостроф в строке (например, «это строка Ричардса»), который приводит к тому, что загрузка страницы приложения после фильтра прекращается с ошибкой:

Syntax error: Missing operand after 's' operator. 

Очевидно, что данные не становятся автоматически безопасными ...

Данные находятся в базе данных, и SPGridView подается с использованием источника данных объекта с использованием таблицы данных.

Каков наилучший или правильный метод обеспечения безопасности данных?

РЕДАКТИРОВАТЬ:

После большого скрежета я нашел частичный ответ, но вопрос все еще остается.

Частичный ответ - вы можете сделать данные безопасными для кода фильтра, но затем вы не сможете заставить их выглядеть правильно в выпадающем меню фильтра.

Добавление BoundField.HtmlEncode = true; к определению SPGridView ничего не делает.

Использование HttpUtility.HtmlEncode в строке ничего не делает.

Вручную заменяя все апострофы в данных амперсандом # 39; вставка в DataTable позволяет фильтру работать нормально, и данные хорошо отображаются в SPGridView, но отображаются со строкой замены html в раскрывающемся списке фильтра, а не с символом апострофа. Это частичное решение, и его нельзя использовать, так как оно создает ужасную строку фильтра, которая видна конечному пользователю.

Мне еще предстоит найти полное решение этой проблемы, за исключением полного удаления оскорбительных символов из данных, что на самом деле не является решением.

С уважением Ричард

Ответы на вопрос(1)

Ваш ответ на вопрос