为什么aspx在if语句中需要{}

时间:2015-11-03 12:18:39

标签: c# asp.net asp.net-mvc

我想知道为什么我们必须使用<%{%>来包装if语句并且<%}%>对于aspx中的任何if条件。

例如,此代码有效:

<% if (contidtion) { %>
    <%= DoSomething() %>
<%}%>

但是这段代码不起作用:

<% if (contidtion) { %>
    <%= DoSomething()
  }
 %>

请解释这两个条件之间的区别。为什么第一个确实有效,为什么第二个没有。

1 个答案:

答案 0 :(得分:3)

查看&lt;%=%&gt;的定义标签呢。它与Response.Write()完全相同。

https://msdn.microsoft.com/en-us/library/6dwsdcf5(VS.71).aspx

意思是,它将输出所评估的表达式内部的任何内容。如果在关闭“}”之前没有关闭标记,则“}”将被视为Response.Write()中表达式的一部分。这就是为什么它不被认为是if语句的结束}。