SPGridView, Daten und korrekte Methode zur Gewährleistung der Datensicherheit

Ich verwende ein SPGridView, um einige Daten zu präsentieren, und habe die Filterfunktion aktiviert, die sehr gut funktioniert. Bis Sie ein bestimmtes Element in den Daten zum Filtern auswählen ...

Das betreffende Datenelement enthält ein Apostroph in der Zeichenfolge (z. B. "Dies ist die Zeichenfolge von Richard"), wodurch das Laden der Seite nach dem Filtern mit dem folgenden Fehler abgebrochen wird:

Syntax error: Missing operand after 's' operator. 

Offensichtlich werden die Daten nicht automatisch sicher gemacht ...

Die Daten befinden sich in einer Datentabelle, und SPGridView wird unter Verwendung einer Objektdatenquelle mit der Datentabelle gespeist.

Was ist die beste oder richtige Methode, um sicherzustellen, dass die Daten sicher verwendet werden können?

BEARBEITEN:

Nach langem Knabbern habe ich eine teilweise Antwort gefunden, aber die Frage bleibt immer noch.

Die teilweise Antwort lautet: Sie können die Daten für den Filtercode sicher machen, aber Sie können dann nicht dafür sorgen, dass sie in der Filter-Dropdown-Benutzeroberfläche korrekt aussehen.

Hinzufügen von BoundField.HtmlEncode = true; zur SPGridView-Definition führt nichts aus.

Die Verwendung von HttpUtility.HtmlEncode für die Zeichenfolge führt zu nichts.

Manuelles Ersetzen aller Apostrophe in den Daten durch kaufmännisches Und # 39; Beim Einfügen in die Datentabelle funktioniert der Filter einwandfrei, und die Daten werden in SPGridView einwandfrei angezeigt, jedoch mit der HTML-Ersetzungszeichenfolge in der Filter-Dropdown-Liste und nicht mit dem Apostroph. Dies ist die Teillösung und kann nicht wirklich verwendet werden, da eine schreckliche Filterzeichenfolge erstellt wird, die für den Endbenutzer sichtbar ist.

Ich muss noch eine vollständige Lösung für dieses Problem finden, abgesehen davon, dass die Daten keine beleidigenden Zeichen enthalten, was eigentlich keine Lösung ist.

Grüße Richard

Antworten auf die Frage(1)

Ihre Antwort auf die Frage