@:在ASP.net MVC Razor中意味着什么?

Dan*_*don 24 asp.net-mvc razor

我正在研究其他人写的ASP.net MVC Razor视图.我看到它包含以下内容:

<span>
    @:
</span>
Run Code Online (Sandbox Code Playgroud)

我知道这个@符号允许我在视图中插入代码,但是代表什么@:呢?

Lea*_*res 51

在MVC中,@相应的char是允许您在HTML(在.cshtml中)内部使用razor,它在运行时(或预编译)将转换为c#.

随着@您可在HTML,并与C#写@:,你可以写C#中的HTML.

例:

@foreach (TestClass item in Model)
{
    @:@item.Code - @item.Name
}
Run Code Online (Sandbox Code Playgroud)

没有@:它就不可能这样做,因为第一个之后的所有字符@都将被视为C#.

这样你就是说你从两个变量中获取item并将char放在-它们之间,结果是一个内容块(或html/text)