2010-05-12 110 views
0

我试图格式化如图日期时间格式在中继器

其被绑定到一个ObjectDataSource中继器的日期时间(yyyy/MM/dd)(这工作)

<%# ((MyType)Container.DataItem).CreateDateTime.ToString("yyyy/MM/dd")%>

(THIS DOES` NT工程)

<%# String.Format("{0:yyyy/MM/dd}",((MyType)Container.DataItem).UpdateDateTime)%>

我想有两件事工作,因为sometim es UpdateDateTime属性为null,在这种情况下,第二行代码处理智能。

感谢您提前给予帮助。

+1

当你说的第二行是不行的,它有什么作用呢?什么HTML生成? – 2010-05-12 15:38:48

回答

3

我刚刚测试过你说的第二行代码,你说不起作用,并且它在UpdateDateTime为null的情况下正常工作,假设它的数据类型为datetime?

代码的第一个行会实际上是错误了,如果CreateDateTime为空,并且可以通过只是在做它就像你的第二个行固定:

<%# String.Format("{0:yyyy/MM/dd}",((MyType)Container.DataItem).CreateDateTime) %> 

你能否提供更多信息以数据类型是什么是和你收到什么错误?

另一种解决方案是使用(再次假设DateTime?数据类型,但你可以检查DBNull以及):

<%# (((MyType)Container.DataItem).UpdateDateTime == null) ? 
    "No Date Text" : 
    ((MyType)Container.DataItem).UpdateDateTime.Value.ToString("yyyy/MM/dd") %>