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

时间:2016-03-29 16:40:35

标签: asp.net-mvc razor

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

<span>
    @:
</span>

我知道@符号允许我将代码插入到视图中,但@:代表什么?

2 个答案:

答案 0 :(得分:42)

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

使用@,您可以在HTML中编写C#,使用@:,您可以在C#中编写HTML。

示例:

@foreach (TestClass item in Model)
{
    @:@item.Code - @item.Name
}

如果没有@:,则无法执行此操作,因为第一个@之后的所有字符都将被视为C#。

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

答案 1 :(得分:0)

但是为什么我们不需要那个符号@: 在下面的例子中:

@if (value % 2 == 0)
{
    <p>The value was even.</p>
}