web-dev-qa-db-fra.com

utiliser if sinon avec eval dans une page aspx

Est-il possible d'utiliser un autre si sur l'évaluation suivante sur la page aspx.

Actuellement, ma division est la suivante: 

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

Je voudrais utiliser la logique suivante sur ma div: 

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

J'ai essayé quelque chose comme ça mais ça ne marche pas:

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

Je veux savoir si une telle opération est possible de faire sur la page aspx. Je ne peux pas le faire dans aspx.cs.

25
CodeNinja

Si vous ne voulez absolument pas utiliser code-behind, vous pouvez essayer opérateur conditionnel pour cela:

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

En supposant que le champ Percentage contient un entier.

53
Andrei

Tu peux essayer c # 

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

 }

aspic 

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

Si vous essayez de lier une classe Model, vous pouvez lui ajouter une nouvelle propriété en lecture seule, comme suit:

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

Sinon, vous pouvez utiliser Andrei ou Kostas ch. suggestions si vous ne pouvez pas modifier la classe elle-même

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