"<%"和"<%:"有什么区别?"

3

我通过谷歌找不到任何内容,我想这些搜索词可能太难处理了。 VS内置的帮助文件只解释了<%,那是嵌入的代码。没有提到<%。

编辑: 我的书上说,唯一的区别就是<%:返回一个MvcHtmlString。为什么我们需要额外的符号来返回东西呢?

编辑2: 一个例子:

<% Html.RenderAction("xxx", "xxx"); %>

没有返回任何内容,所以我们必须使用<%,因为它将进行HTML编码。但如果我在.RenderAction()中呈现需要进行HTML编码的内容怎么办?或者这样做没有意义吗?

非常感谢任何帮助!这真的会帮助我理解asp.net。

3个回答

3
使用<%:,您已经告诉页面将<%: %>标记内部的内容进行Html编码。这是在.Net 4中提出的。
编辑:是的,MvcHtmlString已经进行了Html编码。
附注:如果您希望(有时)不将文本编码为HTML,请使用旧的方法,但您必须知道,如果该数据由用户提供,则被视为安全威胁,可能被用作利用漏洞对您的网站/应用程序进行XSS攻击的手段。

2

两者都用于在视图上渲染文本,但是当你使用 <%: 时,文本会被自动进行 HTML 编码。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接