内联 Eval if 语句返回常量

本文关键字:返回 常量 语句 if Eval 内联 | 更新日期: 2023-09-27 18:36:58

我有一个 if 语句当前(错误地)写为:

<%# Eval("AccumHolidays").ToString() != "" ? Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ? Eval("Holidays").ToString() : %> 0 <% %>

这一直有效,直到我想在最后的 else 中输出 0。寻找类似以下内容:

if(Eval("AccumHolidays").ToString() != "")
    Eval("AccumHolidays").ToString();
else
    if(Eval("Holidays").ToString() != "")
        Eval("Holidays").ToString();
    else
        Response.Write("0");

我可能有错误的论点,但是在aspx页面中放置的正确语句是什么?

内联 Eval if 语句返回常量

我建议另一种方法,如果您不喜欢它,请随时忽略它。为什么不在数据源中创建一个新属性,如下所示

public string HolidaysText
{
    get
    {
        if (AccumHolidays.ToString() != "")
            return AccumHolidays.ToString();
        if (Holidays.ToString() != "")
            return Holidays.ToString();
        return "0";
    }
}

然后,您可以在页面中包含一个简单的 Eval 语句

<%# Eval("HolidaysText") %>
<%# Eval("AccumHolidays").ToString() != "" ? 
Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ? 
Eval("Holidays").ToString() : "0"%>