繁体   English   中英

C#ASP.NET是否等效于PHP括号范围?

[英]C# ASP.NET equivalent of PHP bracket scope?

在PHP中,您可以执行以下操作:

<?php if($x == 1) { ?>
    // Display HTML here
<?php } else { ?>
    // Display alternate HTML here
<?php } ?>

使用C#的ASP.NET中似乎没有明显的等效项。 我将如何实现?

如果您使用的是.aspx页面

<% if (something) { %>
    <!-- html -->
<% } else { %>
    <!-- html -->
<% } %>

如果您使用的是Razor视图引擎( .cshtml

@if (something)
{
    <!-- html -->
}
else
{
    <!-- html -->
}

有。 它称为嵌入式代码块

例:

<%@ Page Language="C#" %>
<html>
<body>
    <form id="form1" runat="server">
    <% for(int i = 0; i < 6; i++) %>
       <% { Response.Write("<br>" + i.ToString()); }%>
    </form>
</body>
</html>

使用Razor,您可以将代码/ 现状块“问题”转过来。

例如

@{
    var foo = 2.99;
    if( 0==foo )
    {
        <p>zero</p>
    }
    else
    {
        <p>not zero</p>
    }
}

要么

@for( var i=0; i<9; i++ )
{
    <p># @i</p>
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM