Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc @:在ASP.net MVC Razor中是什么意思?_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc @:在ASP.net MVC Razor中是什么意思?

Asp.net mvc @:在ASP.net MVC Razor中是什么意思?,asp.net-mvc,razor,Asp.net Mvc,Razor,我正在开发其他人编写的ASP.net MVC Razor视图。我看到它包含以下内容: <span> @: </span> @: 我知道@符号允许我在视图中插入代码,但是@:代表什么?在MVC中,@是相应的字符,允许您在运行时(或预编译)将转换为c#的HTML(在.cshtml中)中使用razor 使用@可以在HTML中编写C,使用@:可以在C中编写HTML 例如: @foreach (TestClass item in Model) { @:@ite

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

<span>
    @:
</span>

@:

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

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

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

例如:

@foreach (TestClass item in Model)
{
    @:@item.Code - @item.Name
}
没有
@:
就不可能做到这一点,因为第一个
@
后面的所有字符都将被视为C


通过这种方式,您可以说您正在从
获取两个变量,并将字符
-
放在它们之间,结果是一个内容块(或html/文本)

但为什么我们不需要该符号@:在以下示例中:

@if (value % 2 == 0)
{
    <p>The value was even.</p>
}
@if(值%2==0)
{
价值是均等的

}
(“谷歌中的冒号剃刀)。@CodeCaster,将其添加为答案,我会标记它。这是有效的,因为标记完全包围了文本。在Leandro Soares的示例中,连字符没有包含在HTML标记中,因此需要
@:
。您可以改为使用:
@item.code-@item.Name
@item.code-@item.Name