Wenn Sie haben um mit Zeichenfolgen zu handeln, dann ist Whitelisting die beste Wahl. Erstens sortDirection
sollte für die Whitelist ziemlich trivial sein:ein Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung mit "asc"
/ "desc"
und du solltest eingestellt sein. Für die anderen würde ich es vorziehen, bekannte Spalten auf die weiße Liste zu setzen , vielleicht indem Sie den erwarteten Type
übergeben für die Daten und Validierung. Aber zur Not könnten Sie mit Regex einschränken, um (sagen wir) zu erzwingen, dass sie alle streng sind alphanumerisch (im Bereich von a-z, A-Z, 0-9 - ggf. Unterstrich) - und fügen Sie dann []
hinzu , also
return string.Format("[{0}] {1}", sortColumn, sortDirection);
Aber:Eine strenge Whitelist bekannter Spalten wäre viel besser, ebenso wie eine Enum für die Richtung.