最近有一个同事提交了一组变更集,其中许多形式为<%= (...) %>的表达式被改为<%: (...) %>。
我模糊地记得曾经听说过<%:的作用,但是无法回忆起来。已经太晚了,无法联系到我的同事,而且Google和Bing似乎都无法搜索字符串"<%:"。
请问有人可以给我解释一下吗?
最近有一个同事提交了一组变更集,其中许多形式为<%= (...) %>的表达式被改为<%: (...) %>。
我模糊地记得曾经听说过<%:的作用,但是无法回忆起来。已经太晚了,无法联系到我的同事,而且Google和Bing似乎都无法搜索字符串"<%:"。
请问有人可以给我解释一下吗?
如果字符串尚未进行编码,则它会对其进行Html编码。
“尚未编码”是为什么引入了MvcHtmlString的原因。MVC2从许多HtmlHelper方法返回MvcHtmlString,以表示不应重新编码的字符串。 <%: %>知道不要重新编码。
参见What is an MvcHtmlString and when should I use it?,进行深入讨论。
它会自动使用Html.Encode()来包装渲染输出,以避免脚本攻击。