在gridval中使用eval中的datetime参数传递方法

时间:2015-10-15 09:45:15

标签: c# asp.net gridview

我有一个服务器端方法,如下所示计算年龄并记录出生日期和当前日期:

 protected int CalculateAge(DateTime DOB, DateTime now)
{
    int age = now.Year - DOB.Year;
    if (now.Month < DOB.Month || (now.Month == DOB.Month && now.Day < DOB.Day)) age--;
    return age;
}

现在我想在gridview标签字段中绑定年龄,如下所示:

<asp:Label ID="lblAge" Text='<%# CalculateAge(Eval("DOB"),Eval(DateTime.Now)) %>' runat="server"></asp:Label>

但它说它有无效的论点。

我有什么选择使用CalculateAge方法?

编辑:所以,我决定摆脱DateTime.Now并使用DOB作为唯一的输入参数,如下所示:

protected int CalculateAge(DateTime DOB)
{
    int age = DateTime.Now.Year - DOB.Year;
    if (DateTime.Now.Month < DOB.Month || (DateTime.Now.Month == DOB.Month && DateTime.Now.Day < DOB.Day)) age--;
    return age;
}

<asp:Label ID="lblAge" Text='<%# CalculateAge(Bind("DOB")) %>' runat="server"></asp:Label>

它仍然说这个方法的无效参数

0 个答案:

没有答案