是否有办法在aspx页面上的以下eval中使用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中完成。
答案 0 :(得分:53)
如果您绝对不想使用代码隐藏,可以尝试使用条件运算符:
<%# ((int)Eval("Percentage") < 50) ? "0 %" : Eval("Percentage") %>
假设字段Percentage
包含整数。
答案 1 :(得分:14)
你可以试试 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>
答案 2 :(得分:2)
如果您尝试绑定是一个Model类,您可以添加一个新的只读属性,如:
public string FormattedPercentage
{
get
{
If(this.Percentage < 50)
return "0 %";
else
return string.Format("{0} %", this.Percentage)
}
}
否则你可以使用Andrei或kostas ch。建议,如果你不能修改类本身
答案 3 :(得分:0)
<%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] != "live") {%>
[<%=System.Environment.MachineName%>]
<%}%>
答案 4 :(得分:0)
<%# (string)Eval("gender") =="M" ? "Male" :"Female"%>