ASP .Net使用AntiXssEncoder标记
<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 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编码器并阻止它发送“回车”和“换行”的数字字符参考?
答案 0 :(得分:1)
在当前版本的项目(v4.2.1)中无法阻止这种情况。 codeplex项目有一个突出的问题。
问题:回车符编码为数字字符引用 - http://wpl.codeplex.com/workitem/19074