在if语句中使用RenderBody()方法?
- 论坛
- 在if语句中使用RenderBody()方法?
9 浏览
在if语句中使用RenderBody()方法?
我有一个项目,其中有很多视图具有相同的布局,所以我使用_ViewStart使它们都具有相同的布局。在该布局中,我使用@RenderBody()来填充页面内容。这个是有效的。
现在我想把@RenderBody()放在一个if语句中。在else语句中,我放了一些html。代码如下:
...*/
@if (condition == true) {
@RenderBody()
} else {
如果条件为假,则显示一些文本
}
/*...
当我运行这段代码并且条件为假时,我得到以下错误:
System.Web.HttpException: 没有为布局页“~/Views/Shared/_BasicLayout.cshtml”调用“RenderBody”方法。
所以我的问题是:
如何将@RenderBody()放在if语句中?
根据请求,这是整个_BasicLayout的内容:
- @Html.ActionLink("Films", "List", "FilmSelectie")
- @Html.ActionLink("Voorstellingen", "Index", "Voorstelling")
- @Html.ActionLink("Nieuwsbrief", "Nieuwsbrief", "Nieuwsbrief")
- @Html.ActionLink("Contact", "ContactBreda", "Contact")
- @Html.ActionLink("Login", "Login", "User")
@if (0 == 1) {
@RenderBody()
} else {
Geen toegang!
U heeft geen toegang tot deze pagina. Log in met een geschikt account om op deze pagina te komen.
}
(不知何故,我无法在stackoverflow中粘贴头部和body的开头,它包含对bootstrap的引用)