0

我的数据库中有 DateTime 数据。
例如 ,

ID   Date         Remark
==========================
1    2013-10-22   
2    2013-10-23   
3    2013-10-24   
4    2012-10-01   
5    2012-10-02   

我想要做的是(2013,2012)在 combo(dropdownlist) 中绑定不同的年份值。

<asp:DropDownList runat="server" ID="ddlYear" Width="100%" 
DataValueField="Date"  Font-Size="14px" DataTextField="Date" 
DataTextFormatString="{0:yyyy}" ></asp:DropDownList>

这就是我绑定数据源的方式,

ddlYear.DataSourse = db.DBContext.DateTables.Select(x =>   
x.Date.Value.Year).Distinct().ToList();
ddlYear.DataBind();  

但是有一个错误,

System.Int32 类型的对象没有 Date 属性。

我该如何解决?

4

2 回答 2

3
<asp:DropDownList runat="server" ID="ddlYear" Width="100%" Font-Size="14px"></asp:DropDownList>

DateTime.Year是 Int32 不是 DateTime,你不需要格式化它:)

于 2013-10-22T08:37:48.957 回答
2

删除DataValueField="Date",DataTextField="Date"DataTextFormatString="{0:yyyy}"

于 2013-10-22T08:38:07.513 回答