在RadGrid模板中的eval函数中格式化整数到目前为止

时间:2013-07-11 05:51:58

标签: asp.net vb.net date integer eval

这是我的项目模板

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

如何将DateLong (返回int)转换为日期格式(MM / dd / yyyy)?我知道代码隐藏有一个解决方法。但是可以通过在代码块中使用其他函数来实现吗?

提前致谢

3 个答案:

答案 0 :(得分: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与db的给定默认日期之间的天数差异。

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

答案 1 :(得分:0)

您只需更改格式为d

'<%# Eval("DateLong","{0:MM/dd/yyyy}")%>'即可

答案 2 :(得分:0)

我试过

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

它运行正常但是当它有一个空值时会抛出错误