使用具有计算列的LINQ查询填充下拉列表

时间:2013-01-25 21:05:08

标签: asp.net linq

我正在使用函数返回从datetime列计算的若干年,并且在尝试填充下拉列表时无法确定如何引用计算列。

这是我的Linq查询:

 var q = (from a in db.Applications
          where a.uID == ID
          select a.date.Year).Distinct();
 return q.ToList();

所以,当我去填充下拉列表时......

Dropdown1.DataTextField = ?????

1 个答案:

答案 0 :(得分:2)

当使用值类型列表作为DataSource时,不需要设置DataTextFieldDataValueField属性。

见下文:

private List<int> GetYears()
{
    var q = (from a in db.Applications
             where a.uID == ID
             select a.date.Year).Distinct();

    return q.ToList();
}

然后将下拉列表初始化为:

Dropdown1.DataSource = GetYears();
// Dropdown1.DataTextField = null;  // Does not need to be set
// Dropdown1.DataValueField = null; // Does not need to be set