SQL-инъекция и межсайтовый скриптинг (a.k.a. XSS или Script Injection) - это разные проблемы.
1) Внедрение SQL очень просто, всегда используйте параметризованные запросы (SQLParameter) и старайтесь НИКОГДА не делать sp_exec @query в хранимых процедурах T-SQL. Параметризованные запросы .Net не защитят от внедрения второго порядка.
2) XSS труднее повсеместно смягчить, так как в HTML-документы можно вставить JavaScript. Рекомендации по использованию AntiXSS для кодирования пользовательских данных верны. Используйте эту библиотеку перед вставкой пользовательских данных в выходные документы. К сожалению, если вы используете серверные элементы управления ASP.Net, кодирующие все данные, это может привести к двойному кодированию и отображению артефактов. Это происходит потому, что некоторые управляющие свойства кодируют данные, а другие нет. Обратитесь к этой таблице , чтобы узнать свойства, закодированные по умолчанию. Используйте Anti-XSS перед назначением любых свойств, которые не кодируют.