Shorthand If without else in Razor view (ASP.NET MVC4)

本文关键字:ASP NET MVC4 view Razor If without else in Shorthand | 更新日期: 2023-09-27 17:59:50

我正在尝试检查一个布尔值,然后显示一个整数:

@( ViewBag.HaveBeenHere ? submission.DurationInMonths )

我得到一个错误:

CS1003:语法错误,应为":"

我知道:是其他的,但在这种情况下,我没有其他的。

当我这样添加它时:

@( ViewBag.HaveBeenHere ? submission.DurationInMonths : "" )

我得到这个错误:

CS0173:无法确定条件表达式的类型,因为"int"answers"string"之间没有隐式转换

如何使用简写if语句检查布尔值并在视图中显示整数?

Shorthand If without else in Razor view (ASP.NET MVC4)

如果您想保留语法,可以这样做:

@( ViewBag.HaveBeenHere ? submission.DurationInMonths.ToString() : "" )

添加ToString()当然会使返回类型相同。

这只短手代表if-else,所以它在这里不起作用。你可以做;

@( if(ViewBag.HaveBeenHere) { submission.DurationInMonths; } )

现在已经不是了。如果你有一个单行,你可以把它和if条件放在同一行。

你没有只需使用if语句。

@( if(ViewBag.HaveBeenHere) submission.DurationInMonths; )

条件算子

条件运算符(?:)根据关于布尔表达式的值。