2013-07-11 19 views
0

这是我的项目模板格式整数日期eval函数在radgrid控件模板

<asp:Label ID="lblDF" runat="server" Text='<%# Eval("DateLong","{0:d}")%>'></asp:Label> 

我怎样才能DateLong(返回INT)转换为日期格式(MM/DD/YYYY)?我知道在代码隐藏方面有一个解决方法。但是,通过在代码块中使用其他函数可能吗?

在此先感谢

回答

1

你可以尝试这样的...

<asp:Label ID="lblDF" runat="server" Text='<%#Convert.ToDateTime( 
Eval("DateLong")).ToString("MM/dd/yyyy") %>'></asp:Label> 

编辑作为DateLong是在整数..

<asp:Label ID="lblDF" runat="server" Text='<%# 
DateTime.ParseExact(Eval("DateLong").ToString(), "yyyyMMdd",//Specify the format in which date stored in database 
System.Globalization.CultureInfo.InvariantCulture).ToString("MM/dd/yyyy"); 
%>'></asp:Label> 

EDIT2 DateLong是在甲从给定的默认日期分钟的天数的差异..

<asp:Label ID="lblDF" runat="server" Text='<%# 
     Convert.ToDateTime("1890-01-01").AddDays(3652+Convert.ToInt32(Eval("DateLong"))).ToString("MM/dd/yyyy") 
     %>'></asp:Label> 
+0

从'Int32'到'DateTime'的转换无效。 –

+0

DateLong的数据类型是什么? –

+0

它的int在sql服务器 –

0

你只需要改变d格式:'<%# Eval("DateLong","{0:MM/dd/yyyy}")%>'

+0

已经试过,它只显示MM/dd/yyyy –

0

我试着用

Text='<%#Convert.ToDateTime(Eval("DateLong")).ToString("MM/dd/yyyy") %>' 

这是工作正常,但当它有一个空值,它抛出一个错误