我在数据库中有一个位字段,我想在我的 HTML 视图中显示为“是”或“否”如何使用三元(?:)运算符来执行此操作?
这是我所拥有的,但它对所有记录都显示“否”。
<%= Html.Encode( Convert.ToString(item.IsValid) == "True" ? "Yes" : "No")%>
我在数据库中有一个位字段,我想在我的 HTML 视图中显示为“是”或“否”如何使用三元(?:)运算符来执行此操作?
这是我所拥有的,但它对所有记录都显示“否”。
<%= Html.Encode( Convert.ToString(item.IsValid) == "True" ? "Yes" : "No")%>
有两种方法可以解决此问题。
1)似乎 IsValid 已经是一个布尔值,只需取值
<%= item.IsValid ? "Yes" : "No"%>
2) 如果您坚持转换它,请使用 Equals 将其与 StringComparison.InvariantCultureIgnoreCase 标志进行比较
<%= Convert.ToString(item.IsValid).Equals("True", StringComparison.InvariantCultureIgnoreCase) ? "Yes" : "No"%>
甚至更简单 -
<%= Html.Encode(item.IsValid ? "Yes" : "No") %>
通常你可以在下面使用:
<%: item.IsValid ? "Yes" : "No" %>
这将解决您的问题。
你为什么要转换成字符串?这应该只是假设IsValid
是一个布尔值:
<%= Html.Encode(item.IsValid) == true ? "Yes" : "No")%>
如果它是一个字符串,你会想要这样的东西:
<%= Html.Encode(item.IsValid.ToLower() == "true" ? "Yes" : "No")%>