2013-06-12 8 views
23

aspxページの次のevalでelse ifを使用する方法はありますか?次のようにaspxページでelseを使用する場合

現在、私のdivがある:

<div class="tooltip" style="display: none">                 
     <div style="text-align: center; font-weight: normal"> 
       Value = <%# Eval("Percentage") + "%" %>  
     </div> 
    </div> 

私は私のdivに、次のロジックを使用したいと思います:

If(Percentage < 50) 
    display "0 %" 
    else 
    display "percentage" 

私はこのような何かをしようとしたが、それは動作しません。

if (<%# Eval("Percentage") %> < 50) 
{ 
    Eval("0"); 
} 
else 
{ 
    <%# Eval("PassPercentage") + "%" %> 
} 

aspxページでこのような操作が可能かどうかを知りたいです。私はaspx.cs.でそれを行うことはできません。

+6

なぜこのためにコードビハインドクラスを使用することはできませんが変更できない場合の提案ですか? – Andrei

+0

jqueryツールチップに表示するdivを使用しています。私はaspxページでそれをしたいと思います。可能であれば。 – CodeNinja

+0

3進演算子を使用することができます – emd

答えて

45

あなたは絶対にコードビハインドを使用したくない場合は、あなたがこのために条件演算子を試すことができます。

<%# ((int)Eval("Percentage") < 50) ? "0 %" : Eval("Percentage") %> 

これは、フィールドPercentageに整数が含まれていると仮定しています。

+0

完璧!これは動作します! – CodeNinja

12

あなたは試すことができます C#

public string ProcessMyDataItem(object myValue) 
{ 
    if (myValue == null) 
    { 
    return "0 %""; 
    } 
    else 
    { 
    if(Convert.ToInt32(myValue) < 50) 
     return "0"; 
    else 
     return myValue.ToString() + "%"; 
    } 

} 

ASP

<div class="tooltip" style="display: none">                 
     <div style="text-align: center; font-weight: normal"> 
    Value =<%# ProcessMyDataItem(Eval("Percentage")) %> </div> 
</div> 
+0

+1ありがとうございます!これも有効な解決策です。しかし、私は何かをaspxページ自体に何かを探しています。 – CodeNinja

+0

あなたは大歓迎です。 Andreiの投稿はあなたのために適しています:) –

2

あなたはバインドしようとしている場合は、あなたが好きなことに、新しい読み取り専用プロパティを追加することができ、Modelクラスです:

public string FormattedPercentage 
{ 
    get 
    { 
     If(this.Percentage < 50) 
      return "0 %"; 
     else 
      return string.Format("{0} %", this.Percentage)   
    } 
} 

そうでなければあなたはアンドレイのかコスタスCHを使用することができます。あなたはクラス自体

+0

ありがとう!これは参考になります。私はプロパティとしてパーセンテージを使用していません。しかし、将来的には役立つだろう。 – CodeNinja

1
<%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] != "live") {%> 
         &nbsp;[<%=System.Environment.MachineName%>] 
         <%}%> 
0
<%# (string)Eval("gender") =="M" ? "Male" :"Female"%> 
+4

通常、コードのみの回答は避けてください。 'description'を追加するか、少なくともあなたのコードを説明するのに役立つより多くのコンテキストを表示することを検討してください。ありがとう – MickyD