Ответ 1
Если вы абсолютно не хотите использовать код, вы можете попробовать условный оператор для этого:
<%# ((int)Eval("Percentage") < 50) ? "0 %" : Eval("Percentage") %>
Это означает, что поле Percentage
содержит целое число.
Есть ли способ использовать else, если на следующем eval на странице aspx.
В настоящее время мой 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
содержит целое число.
Вы можете попробовать С#
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, вы можете добавить к нему новое свойство readonly, например:
public string FormattedPercentage
{
get
{
If(this.Percentage < 50)
return "0 %";
else
return string.Format("{0} %", this.Percentage)
}
}
В противном случае вы можете использовать Andrei или kostas ch. предложения, если вы не можете изменить сам класс
<%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] != "live") {%>
[<%=System.Environment.MachineName%>]
<%}%>
<%# (string)Eval("gender") =="M" ? "Male" :"Female"%>