Razor 分号丢失了吗?

Razor 分号丢失了吗?,razor,syntax,Razor,Syntax,在我的一个MVC3网站上,我知道在页面底部会看到一个分号。在这种情况下,我将回顾我的剃须刀模板,并比以前更加困惑 @using some.Library.Namespace上是否需要分号;语句?不,它们不是必需的。这很简单,可以测试,不需要写SO帖子。在Razor语法中,分号有两条规则 在代码块内,每个完整的代码语句必须以分号结尾。 @{var theMonth=DateTime.Now.Month;} @{ var outsideTemp=79; var weatherMessage=“您好

在我的一个MVC3网站上,我知道在页面底部会看到一个分号。在这种情况下,我将回顾我的剃须刀模板,并比以前更加困惑


@using some.Library.Namespace上是否需要分号;语句?

不,它们不是必需的。这很简单,可以测试,不需要写SO帖子。

在Razor语法中,分号有两条规则

  • 在代码块内,每个完整的代码语句必须以分号结尾。
  • 
    @{var theMonth=DateTime.Now.Month;}
    @{
    var outsideTemp=79;
    var weatherMessage=“您好,现在是“+outsideTemp+”度。”;
    }
    

  • 内联表达式不以分号结尾。
  • 
    今日天气:@weatherMessage


    这些规则已概述。

    否,Razor
    @中不需要分号,使用
    语句。。。但是如果您使用some.Library.Namespace编写
    ,它不会将分号写入响应所以其他东西正在输出额外的semicolon@nemesv:
    Html.DropDownList(…)也是允许的,尽管它不是必需的。我发现razor模板有点奇怪,在很多地方缺乏一致性,比如@if。我从来都不知道该期待什么,需要什么,容忍什么。我发现这个问题是一个有效的问题。需要什么与不需要什么(容忍)。有人告诉我javascript不需要分号,我说,在我测试自己之前,这是一个错误。出于某种原因,浏览器只能容忍它。问题是,什么是标准,什么是可以容忍的。