Bod*_*rov 1 c# asp.net partial-views conditional-operator
我正在使用三元运算符有条件地呈现页脚。我正在做@RenderPage,即使它有效,也意味着有一个控制器以及其他一些额外的代码。
我遇到了一个; expected错误,根据 StackOverflow 和一些文档,这是一个通用错误,可能是由许多不同的事情引起的。
我的语法正确吗?或者有什么我想念的吗?
// in this section is a switch statement that sets isNewFooter to true or false depending on which page has loaded.
<div class="body-content">
@RenderBody()
@{
(isNewFooter ? Html.RenderPartial("~/Views/Shared/NewFooter.cshtml") : Html.RenderPartial("~/Views/Shared/OldFooter.cshtml"))
}
</div>
Run Code Online (Sandbox Code Playgroud)
三元运算符用于计算不同的表达式,而不是执行不同的语句。你可以只使用一个标准if:
if (isNewFooter)
Html.RenderPartial("~/Views/Shared/NewFooter.cshtml");
else
Html.RenderPartial("~/Views/Shared/OldFooter.cshtml");
Run Code Online (Sandbox Code Playgroud)
或者,重构出常见的东西,以便您可以使用三元运算符:
Html.RenderPartial(String.Format("~/Views/Shared/{0}Footer.cshtml", (isNewFooter ? "New" : "Old")));
Run Code Online (Sandbox Code Playgroud)
使用其中任何一个对您来说更容易阅读和维护。
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |