Sandeep Mewara
Ссылка: eval - предотвращение атаки межсайтового скриптинга в asp.net с#[^]
Чтобы предотвратить XSS при использовании TemplateField в .NET Framework 4.0 или более поздней версии, вы можете использовать Библиотека Веб-Защиты Microsoft[^] на странице aspx. В .NET Framework 4.5 и выше он уже интегрирован с фреймворками.
Фреймворки 4.0 или старше.
<ItemTemplate>
<asp:Label ID="Name" runat="server"
Text='<%#Microsoft.Security.Application.Encoder.HtmlEncode(Eval("Name").ToString()) %>'>
</asp:Label>
Таблицах 4.5 и выше:
<ItemTemplate>
<asp:Label ID="Name" runat="server"
Text='<%#System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(Eval("Name").ToString(),true) %>'>
</asp:Label>
Это будет кодировать вашу метку, когда они будут визуализированы. Используйте его только для ItemTemplate, EditItemTemplate render имеет html-входной текст, и он будет кодироваться фреймворком по умолчанию.
Еще одна статья, которую было бы неплохо почитать:
Предотвращение XSS в ASP.Net сделано легко[
^]