2010-05-12 2 views
0

Я пытаюсь форматировать времени и даты (yyyy/MM/dd) в ретранслятор, который привязана к какому-на ObjectDataSource, как показаноDateTime Форматирование в повторителе

(ЭТО РАБОТАЕТ)

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

(ЭТО DOES` NT WORKS)

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

Я хочу иметь и то и другое работает, потому что sometim es свойство UpdateDateTime равно null, в таких случаях вторая строка кода обрабатывает smart.

Благодарим за помощь заранее.

+1

Когда вы говорите, что вторая линия не работает, что он делает вместо этого? Какой HTML сгенерирован? –

ответ

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") %> 
Смежные вопросы