web-dev-qa-db-de.com

verwenden von if else mit eval in der aspx-Seite

Gibt es eine Möglichkeit, ein else zu verwenden, wenn auf der folgenden Seite auf der aspx-Seite eval.

Derzeit ist mein div wie folgt: 

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

Ich möchte die folgende Logik für mein div verwenden: 

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

Ich habe so etwas ausprobiert, aber es funktioniert nicht:

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

Ich möchte wissen, ob eine solche Operation auf der Aspx-Seite möglich ist. Ich kann es nicht in aspx.cs machen.

25
CodeNinja

Wenn Sie Code-Behind absolut nicht verwenden möchten, können Sie dafür einen bedingten Operator versuchen:

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

Das heißt, das Feld Percentage enthält eine Ganzzahl.

53
Andrei

Du kannst es versuchen 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>
14
kostas ch.

Wenn Sie versuchen zu binden, ist eine Model-Klasse, können Sie eine neue readonly-Eigenschaft hinzufügen:

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

Ansonsten können Sie Andrei's oder kostas ch verwenden. Vorschläge, wenn Sie die Klasse selbst nicht ändern können

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