阻止 asp.net 逃脱 HTML
Stop asp.net from escaping HTML
我正在尝试设置 asp:image AlternateText。我想将其设置为包含 HTML 个已经转义的实体的字符串。但是 asp.net 然后再次逃脱了他们。
我用一个简单的赋值语句来设置它。基本上:
imgBanner.AlternateText="José"
但是我在源码中得到的其实是
<img blah blah alt="Jos&eacute;">
这当然会显示为 "José" 而不是显示带重音符号的 "e"。
实际上,文本来自一个从数据库中读取它的函数,但我可以在调试器中观察,当我从数据库中读取文本时,如果我检查 AlternateText 的内容,就会看到文本是正确的分配后立即是正确的。但是到了浏览器,都被二次转义了。
(P.S。无需警告我脚本注入攻击。数据库中的文本是我输入的。用户无法更新此table。原因从数据库中获取它是因为我根据语言和其他参数读取了不同的文本。)
尝试
imgBanner.AlternateText = HttpUtility.HtmlDecode("José")
我正在尝试设置 asp:image AlternateText。我想将其设置为包含 HTML 个已经转义的实体的字符串。但是 asp.net 然后再次逃脱了他们。
我用一个简单的赋值语句来设置它。基本上:
imgBanner.AlternateText="José"
但是我在源码中得到的其实是
<img blah blah alt="Jos&eacute;">
这当然会显示为 "José" 而不是显示带重音符号的 "e"。
实际上,文本来自一个从数据库中读取它的函数,但我可以在调试器中观察,当我从数据库中读取文本时,如果我检查 AlternateText 的内容,就会看到文本是正确的分配后立即是正确的。但是到了浏览器,都被二次转义了。
(P.S。无需警告我脚本注入攻击。数据库中的文本是我输入的。用户无法更新此table。原因从数据库中获取它是因为我根据语言和其他参数读取了不同的文本。)
尝试
imgBanner.AlternateText = HttpUtility.HtmlDecode("José")