0

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

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

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

4 回答 4

3

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

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

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

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

<%= Convert.ToString(item.IsValid).Equals("True", StringComparison.InvariantCultureIgnoreCase) ? "Yes" : "No"%>
于 2013-03-21T17:45:33.660 回答
2

甚至更简单 -

<%= Html.Encode(item.IsValid ? "Yes" : "No") %>
于 2013-03-21T17:42:28.677 回答
2

通常你可以在下面使用:

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

这将解决您的问题。

于 2013-03-21T17:42:51.983 回答
1

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

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

如果它是一个字符串,你会想要这样的东西:

<%= Html.Encode(item.IsValid.ToLower() == "true" ? "Yes" : "No")%>
于 2013-03-21T17:39:58.993 回答