我对剃须刀视图引擎并不熟悉。所以,我有一个语法问题。
我有“_layout.cshtml”:
@if (IsSectionDefined("Slideshow"))
{
@RenderSection("Slideshow");
}
else
{
<p>blah blah blah</p>
}
然后,在“default.cshtml”
中@if(@ViewBag.Article == null)
{
<p>blabla</p>
}
else
{
@section Slideshow
{
<ul><li>slide here</li></ul>
}
}
所以,这是我的问题: 如果我让@之前的部分,我有一个错误[line:27]告诉我,我没有必要在@if语句中保留@:
"Mot clé "section" inattendu après le caractère "@". Une fois à l'intérieur du code,
vous n'avez pas besoin de préfixer des constructions telles que "section" avec "@"."
如果我没有让@ before节之前,我有一个错误[line:29] 2行之后(
CS1513: } attendue
所以,我想这是可能的,但我不知道该怎么做。你能帮我吗?
由于
答案 0 :(得分:0)
这应该编译:
@if (IsSectionDefined("Slideshow"))
{
RenderSection("Slideshow");
}
else
{
@:<p>blah blah blah</p>
}
@if(ViewBag.Article == null)
{
@:<p>blabla</p>
}
else
{
section Slideshow
{
@:<ul><li>slide here</li></ul>
}
}
如果编译器不知道您要编写实际代码,则需要使用@启动c#语句。
在纯文本的开头使用@:编译器知道它的纯文本。
使用<text></text>
标记来包含文本具有相同的效果。 </text>
标记内的每个c#语句都需要以@
答案 1 :(得分:0)
你可以这样做,
@{
if(ViewBag.Article == null)
{
<p>blabla</p>
}
else
{
section Slideshow
{
<ul><li>slide here</li></ul>
}
}
}