C# asp.net web Eval について

タグの編集
投稿者 ケンケン  (社会人) 投稿日時 2023/1/26 10:30:15
Eval について
 
 DB構成で、
  Sex  int 属性で、コードの説明 1:男性 2:女性 
  
  <asp:Label ID="Label3" runat="server" Text='<%# (int)Eval("Sex")?"男性":"女性" %>'></asp:Label>
                                -------------- 
                                この部分が赤い波線に成っています。

                                     DBのSex が1の場合、男性
                                       上記以外の場合、女性と出力したいのですがなにかいい方法がありますか?
 ご存知の方、ご教授お願い致します。

                      
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/1/26 14:10:12
三項演算子の構文は 『bool値 ? 式1 : 式2』であって、
『int値 ? 式1 : 式2』ではありませんよね。

boxing された値が decimal や double ではなく、実際に int なのであれば
[案1] (int)Eval("Sex") == 1 ? "男性" : "女性"
[案2] Eval("Sex") == (object)1 ? "男性" : "女性"
で如何でしょう。
投稿者 ケンケン  (社会人) 投稿日時 2023/1/26 14:53:27

下記の案で編集が上手く行きました。
 ありがとうございます。
 
 悩んでいました。本当に助かりました。

 感謝!感謝!です。
 

 (int)Eval("Sex") == 1 ? "男性" : "女性"