如果在aspx页面中使用eval,则使用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中做到这一点。


如果你绝对不想使用代码隐藏,你可以尝试这样的条件运算符:

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

这是假设字段Percentage包含整数。


你可以试试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>

如果你试图绑定一个Model类,你可以添加一个新的只读属性给它:

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

否则,你可以使用Andrei's或kostas ch。 建议如果你不能修改类本身

链接地址: http://www.djcxy.com/p/42847.html

上一篇: using if else with eval in aspx page

下一篇: One line if in VB .NET