ASP.NET MVC中渲染的区别是什么?

6
渲染服务器代码的运算符有什么区别?
Operator: <%@
Operator: <%:
Operator: <%=
2个回答

9

<%= 简单地评估表达式并将结果写入页面输出

<%: 与上述相同,但还对输出进行HTML编码 - 除非输出实现了IHtmlString接口

<%@ 用于特殊的框架指令,例如<%@ Page用于指定页面属性,如主页

<% 用于代码块,这些代码块是语句而不是表达式。除非您显式调用一个写入输出的函数,否则它们不会生成页面输出。

<%# 用于数据绑定表达式,在WebForms控件数据绑定时计算。因此在MVC中很少使用。


1
<%: 是相同的,但也会对输出进行HTML编码 - 除非输出实现了IHtmlString。 - Jakub Konecki
<%if (true){ %> <%=Resources.GlobalResources.Not_Available%> <% } else {%> <%= Model.NextAppointmentDate%> <% }%> 我想只用代码来编写它 - Simbian
我想用一个 <% C# 代码块 %> 在视图(aspx)中编写。 - Simbian
<% if (true) { Html.Write(Resources.GlobalResources.Not_Available)} else {Html.Write(Model.NextAppointmentDate)} %> - Simbian

1

<%: 对结果进行 HTML 编码 <%= 等同于 Response.Write <%@ 是一个预处理器指令


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