0

HTML ビューに「はい」または「いいえ」として表示したいデータベースにビット フィールドがあります。三項(?:) 演算子を使用してこれを行うにはどうすればよいですか?

これが私が持っているものですが、すべてのレコードに対して「いいえ」と表示されます。

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

4 に答える 4

3

これを修正するには 2 つの方法があります。

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 に答える