ASP.NET WebForms 应用程序使用 Telerik 组件(网格、标签、下拉列表(来显示数据。
要求是在 UI 上呈现数据时html encode
数据。实现了白名单,允许几个安全的html标签,如<table>
,<b>
,<br>
。自定义 http 编码器在web.config
中配置。
- 网络.config
<httpRuntime encoderType="WebApp.Common.Security.AppHttpEncoder, WebApp.Common" />
Telerik 网格允许配置 html 编码,例如在 c# 中,但这里不需要白名单。
受保护的无效RadItemsGrid_ColumnCreated(对象发送器,GridColumnCreatedEventArgs e( { var boundColumn = e.Column as GridBoundColumn; if (boundColumn != null( { boundColumn.HtmlEncode = true; } }
静止是如何将.NET默认html编码器设置为Telerik网格?有没有办法在代码中设置?类似的东西
RadGrid.Encoder = xxx
最后完成了这些操作
- web.config - 删除了自定义httpEncoder,因此在任何地方都只使用默认的.NET编码器。
- 自定义 AppHttpEncoder 在需要时明确使用
这有助于提高性能,默认情况下到处都有 html 编码,并在需要时调整代码并使用自定义白名单 http 编码器。