using if else with eval in aspx page
在下面的ASPX页上的eval中是否有使用else if的方法?
目前我的分类如下:
1 | Value = <%# Eval("Percentage") +"%" %> |
我想在我的DIV上使用以下逻辑:
1 2 3 4 | If(Percentage < 50) display"0 %" else display"percentage" |
我试过这样的方法,但不管用:
1 2 3 4 5 6 7 8 | if (<%# Eval("Percentage") %> < 50) { Eval("0"); } else { <%# Eval("PassPercentage") +"%" %> } |
我想知道在ASPX页面上是否可以执行这样的操作。我不能在aspx.cs中完成。
如果您绝对不想使用代码隐藏,可以尝试使用条件运算符:
1 | <%# ((int)Eval("Percentage") < 50) ?"0 %" : Eval("Percentage") %> |
这是假设字段
你可以试试C.*
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public string ProcessMyDataItem(object myValue) { if (myValue == null) { return"0 %""; } else { if(Convert.ToInt32(myValue) < 50) return"0"; else return myValue.ToString() +"%"; } } |
ASP
1 | Value =<%# ProcessMyDataItem(Eval("Percentage")) %> |
如果尝试绑定的是模型类,则可以向其添加新的只读属性,如下所示:
1 2 3 4 5 6 7 8 9 10 | public string FormattedPercentage { get { If(this.Percentage < 50) return"0 %"; else return string.Format("{0} %", this.Percentage) } } |
否则,如果无法修改类本身,则可以使用Andrei或Kostas ch.建议。
1 | <%# (string)Eval("gender") =="M" ?"Male" :"Female"%> |
1 2 3 | <%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] !="live") {%> [<%=System.Environment.MachineName%>] <%}%> |