C# Asp.net MVC3 Razor视图引擎,使用;多行@:“;?
我在做一个项目,到了我需要做这样的事情的时候:C# Asp.net MVC3 Razor视图引擎,使用;多行@:“;?,c#,asp.net,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,我在做一个项目,到了我需要做这样的事情的时候: foreach(var item in Model) { @:<div class="my-class"> this is some content </div> @:<div class="my-other-class">this is some more content </div> } foreach(模型中的变量项) { @:这是一些内容 @:这是更多的内容 } 但是,当然,这样做是愚蠢的
foreach(var item in Model)
{
@:<div class="my-class"> this is some content </div>
@:<div class="my-other-class">this is some more content </div>
}
foreach(模型中的变量项)
{
@:这是一些内容
@:这是更多的内容
}
但是,当然,这样做是愚蠢的。所以我的问题是:
-有没有像上面给出的例子那样,对几行html代码进行转义的符号
例如
@:
:@
非常感谢你的帮助。谢谢:)使用@{}
@{
<div>
<div>
<div>
}
必须使用@仅在视图中对c-sharp/vb代码进行范围访问或分隔。纯HTML可以作为纯HTML单独存在,例如: 界定有效的转让:
@{
int x = 123;
string y = "because.";
}
在代码中使用变量x
<div>@x</div>
<div>@y</div>
@x
在代码中使用变量y
<div>@x</div>
<div>@y</div>
@y
同时使用x和y
@{
<div>@x</div>
<div>@y</div>
}
@{
@x
@y
}
用于:
@foreach(模型中的变量项)
{
@item.SomeProperty
这是更多的内容
}
啊,是的,问题在于我的结构。的确,html代码是独立存在的
问题是我有一个块,我会根据条件插入不同的起始标记
if(cond){insert}else{insert other div}
@{
<div>
<div>
<div>
}
所以我猜CLR看不到关闭的}
通过将整个
结构放入条件块中修复了它
谢谢你的回复,干杯 @{}
@{ <text><div></div></text> }
使用
er。。您的代码示例中没有razor语法,它是纯HTML,所以根本不需要@:吗?