我正在研究其他人写的ASP.net MVC Razor视图。我看到它包含以下内容:
<span>
@:
</span>
我知道@
符号允许我将代码插入到视图中,但@:
代表什么?
答案 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>
}