我正在尝试使用 TagBuilder 构建具有多个类的标签,但遇到了障碍。我们使用 AntiXssEncoder。当我向 TagBuilder 添加多个类时,它显然会在某些时候对其进行编码。
这可能在默认环境中有效,但如果编码器已被更严格的东西替换,那么像我的“类”属性中的空格之类的东西会被编码等等,这会破坏各种东西。
有没有办法关闭给定 TagBuilder 实例的属性编码?
我正在尝试使用 TagBuilder 构建具有多个类的标签,但遇到了障碍。我们使用 AntiXssEncoder。当我向 TagBuilder 添加多个类时,它显然会在某些时候对其进行编码。
这可能在默认环境中有效,但如果编码器已被更严格的东西替换,那么像我的“类”属性中的空格之类的东西会被编码等等,这会破坏各种东西。
有没有办法关闭给定 TagBuilder 实例的属性编码?
这似乎是 .NET 4.0 的一个问题,所以如果您想使用 TagBuilder,而不仅仅是连接一个字符串(如果您不想要默认功能,这当然可能是一个更好的主意)。
但是,正如在这个问题中所解释的那样,您可以创建自己的覆盖HttpEncoder
,它不会转义字符串。
有关更多详细信息,请参阅此 SO 问题和接受的答案:Stop the tag builder escaping single quotes ASP.NET MVC 2