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

C# 为什么aspx在if语句中需要{},c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我想知道为什么我们必须在aspx中用和为任何if条件包装if语句 例如,此代码可以工作: <% if (contidtion) { %> <%= DoSomething() %> <%}%> 但是这个代码不起作用: <% if (contidtion) { %> <%= DoSomething() } %> 你能解释一下这两种情况的区别吗。为什么第一个有效,为什么第二个无效。查看标签作用的定义。它的作用

我想知道为什么我们必须在aspx中用和为任何if条件包装if语句

例如,此代码可以工作:

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

但是这个代码不起作用:

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


你能解释一下这两种情况的区别吗。为什么第一个有效,为什么第二个无效。

查看标签作用的定义。它的作用与Response.Write()相同

也就是说,它将输出计算表达式中的任何内容。如果在If关闭“}”之前没有关闭标记,“}”将被视为响应中表达式的一部分。这就是为什么它不被视为if语句的结束}