强类型HTML视图中的三元运算符

时间:2013-03-21 17:37:59

标签: c# html asp.net-mvc strongly-typed-view

我在数据库中有一个字段,我想在我的HTML视图中显示为“是”或“否” 如何使用三元(?:)运算符来执行此操作?

这是我所拥有的,但它显示所有记录的“否”。

<%= Html.Encode( Convert.ToString(item.IsValid) == "True" ? "Yes" : "No")%>

4 个答案:

答案 0 :(得分:3)

有两种方法可以解决这个问题。

1)似乎IsValid已经是一个布尔值,只需取值

<%= item.IsValid ? "Yes" : "No"%>

2)如果您坚持转换它,请使用Equals与StringComparison.InvariantCultureIgnoreCase标志进行比较

<%= Convert.ToString(item.IsValid).Equals("True", StringComparison.InvariantCultureIgnoreCase) ? "Yes" : "No"%>

答案 1 :(得分:2)

甚至更简单 -

<%= Html.Encode(item.IsValid ? "Yes" : "No") %>

答案 2 :(得分:2)

通常你可以在下面使用:

<%: item.IsValid ? "Yes" : "No" %>

这将解决您的问题。

答案 3 :(得分:1)

为什么要转换为字符串?这应该只是假设IsValid是一个布尔:

<%= Html.Encode(item.IsValid) == true ? "Yes" : "No")%>

如果它是一个字符串,你需要类似的东西:

<%= Html.Encode(item.IsValid.ToLower() == "true" ? "Yes" : "No")%>