以下是_layout.cshtml中的代码:
@{
Boolean Yes=true;
if (Yes == true)
{
RenderSection("one", false);
}
else
{
RenderSection("two", false);
}
}
这是index.cshtml中的代码:
@section one{
1111111111111111111111111111111
}
@section two{
2222222222222222222222222222222
}
当我运行IIS时,它会报告此错误:
我不知道它为什么会出现这个错误。我尝试了一些东西,发现如果我移动RenderSection单,如下:
@RenderSection(“一”,假)
然后就行了。
我的代码有什么问题?我知道这只是一个愚蠢的问题,我尽我所能但却无法解决它。
请帮帮我。谢谢。
答案 0 :(得分:0)
由于"是" two
部分没有布局变量的值为true
。
但是在index.cshtml中,您调用了@section two
。
因此,当视图呈现时,_Layout.cshtml
会尝试将22222...
添加到two
部分的正文中,但找不到two
部分。
这就是为什么你看到你没有定义部分two
的例外。
要更正您的代码,您仍然会在_Layout.cshtml
@RenderSection("one", false)
@RenderSection("two", false)
然后在index.cshtml
@{
Boolean Yes = true;
if (Yes == true)
{
@section one{
1111111111111111111111111111111
}
}
else
{
@section two{
2222222222222222222222222222222
}
}
}