我想知道为什么我们必须使用<%{%>来包装if语句并且<%}%>对于aspx中的任何if条件。
例如,此代码有效:
<% if (contidtion) { %>
<%= DoSomething() %>
<%}%>
但是这段代码不起作用:
<% if (contidtion) { %>
<%= DoSomething()
}
%>
请解释这两个条件之间的区别。为什么第一个确实有效,为什么第二个没有。
答案 0 :(得分:3)
查看&lt;%=%&gt;的定义标签呢。它与Response.Write()完全相同。
https://msdn.microsoft.com/en-us/library/6dwsdcf5(VS.71).aspx
意思是,它将输出所评估的表达式内部的任何内容。如果在关闭“}”之前没有关闭标记,则“}”将被视为Response.Write()中表达式的一部分。这就是为什么它不被认为是if语句的结束}。