我如何在ListView的aspx文件中使用Eval()作为参数

时间:2012-05-07 15:43:54

标签: c# asp.net listview

我有数据源控件和listView控件

数据源有

  

“StudentID,StudentName,Birthday,Gander(M,F),Course_ID”

我想在我的listView中显示

  

(“年龄 - >不是BirthDay,Gander(男性,女性) - >不是f或'm,和   CourseName - >不是课程ID:))

我写了一些像这样做

的方法
    public  string CalculateAge(DateTime birthDate)
      {
            // cache the current time
            DateTime now = DateTime.Today; // today is fine, don't need the timestamp from now
            // get the difference in years
            int years = now.Year - birthDate.Year;
            // subtract another year if we're before the
            // birth day in the current year
            if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day))
                 --years;

            return years.ToString(CultureInfo.InvariantCulture);
      }

但我如何在Eval()中使用ListView在我的aspx文件中使用此方法?注意:我在不同的命名空间中编写了此方法

1 个答案:

答案 0 :(得分:2)

ListView中使用此功能不会有问题。这样的事情应该有效:

<%# CalculateAge((DateTime)Eval("SomeDate")) %>

如果此函数包含在实现IDisposable的库中,则可以在代码隐藏中创建传递函数:

public string CalculateAge(DateTime birthDate)
{
    using (var obj = new MyObject())
    {
        return obj.CalculateAge(birthDate);
    }
}