2

使用 AntiXssEncoder 的 ASP .Net 标记

<asp:Textbox TextMode="Multiline" runat=server>
First Line
Second Line
</asp:TextBox>

呈现为:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
 <textarea rows="5" >First Line&#13;&#10;Second Line</textarea> 
</body>
</html>

作为扩展为回车的数字字符引用,这不是有效的 HTML5。使用数字字符引用而不是实际字符编写代码的原因是因为页面是用 ASP .NET 编写的,AntiXss 是基于此页面的默认 HttpEncoder:http: //haacked.com/archive/2010 /04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx

删除 AntiXss 编码器可以解决问题,但是有没有办法保留 AntiXss 编码器并防止它发送“回车”和“换行”的数字字符引用?

4

1 回答 1

1

在当前版本的项目 (v4.2.1) 中无法避免这种情况。codeplex 项目存在一个悬而未决的问题。

问题:编码为数字字符引用的回车 - http://wpl.codeplex.com/workitem/19074

于 2013-01-08T17:46:53.193 回答