这是我的代码:
if (haveDataDay) {
@if (valueDateDay <=100) {
valueDateDay.ToString();
} else if (valueDateDay > 100) {
@valueDateDay.ToString(valueDateDay % 1 == 0 ? "N0" : "C2")
}
} else {
@this.FP("lbl.loader.nodata")
}
我试图检查“valueDateDay”的十进制值是否为“100或更小”,然后只将其更改为此行的字符串:
valueDateDay.ToString();
如果“valueDateDay”大于100则需要检查此语句并将其转换为字符串:
@valueDateDay.ToString(valueDateDay % 1 == 0 ? "N0" : "C2") }
如果“valueDateDay”值没有数据或等于0,则get0s到此行:
else
{ @this.FP("lbl.loader.nodata") }
然而,当我运行我的代码时,大于100的值被正确地赋值,但是100或更少的值不会直接保存到:
else
{ @this.FP("lbl.loader.nodata") }
我做错了什么?
答案 0 :(得分:1)
您的大括号格式错误,因此其他格式不在if-else
连续体中。
if (haveDataDay) {
if (valueDateDay <=100 && valueDataDay > 0) {
valueDateDay.ToString();
} else if (valueDateDay > 100) {
valueDateDay.ToString(valueDateDay % 1 == 0 ? "N0" : "C2")
} else {
this.FP("lbl.loader.nodata")
}
}
此外,valueDateDay
小于或等于0将进入第一个循环,因此添加条件大于零:valueDateDay <=100 && valueDataDay > 0
。