我的&
嵌入在我的页面上的句子来自数据库,当我得到它时,我有&
而不是如何获得
&
原样。
答案 0 :(得分:2)
使用<%: %>
构造(在.NET 4
中):
<%: "This & that" %>
或者使用HttpServerUtility.HtmlEncode
:
<%= Server.HtmlEncode("This & that") %>
答案 1 :(得分:1)
&
表示HTML中的“启动实体”,听起来好像在某些时候纠错了。
您需要对HTML进行解码,或者至少通过用于解码实体的库来运行它。
答案 2 :(得分:1)
如果使用MVC,请使用&lt;%=标记将其写出来而不是&lt;%:
您可能还需要解码HTML。 Server.HtmlDecode()
请注意,这也与Server.HtmlEncode()
相反答案 3 :(得分:1)
您应该非常小心地从数据库中取出内容并将其直接(未编码)发送到HTML页面。如果数据库中的内容完全由您生成,并且已知是安全的HTML,那么您应该没问题。但如果其中任何一个来自用户输入(即使在遥远的过去),那么你应该在信任之前先思考。