【发布时间】:2020-12-16 11:42:07
【问题描述】:
目前我在帖子之后使用了三元表达式:Razor If/Else conditional operator syntax 它工作正常,但由于在我的情况下表达式值很长,我想以更清晰的方式编写它们,也许在途中使用临时变量。
我知道if是一个语句,不是表达式,但是怎么写呢?结果应该只是字符串(用于在页面上显示)。
所以从:
@(condition ? string1 : string2)
它的if 对应物会是什么样子?
我搜索并尝试编写 ifs 和 lambda,但每次我都遇到一些语法错误。我想保留返回字符串值的这种简单性,而不是在每个放置值的分支中执行,例如@Html.DisplayFor。
更新:
我的string 值是纯文本,没有 html 标记,或者一些花哨的东西。实际代码只是(为此目的有点过于复杂,但我希望可读):
@(summary.Any() ? String.Join(", ", summary.Select(it => it.Key.ToString())) : "none")
【问题讨论】:
-
声明一个字符串。然后编写 if 并在 if 内部,为字符串分配正确的值。然后在最后,输出它。标准 C#,足够接近。请告诉我们您尝试了什么以及遇到了什么错误。
标签: c# asp.net-core razor