У меня есть обнуляемый DateTime, который я хочу показать в формате ShortDate, если он имеет значение, но я не могу понять это правильно. Я пытаюсь использовать нулевой оператор ($! {}) Здесь.
Это должно работать так:
<td>$!{period.Enddate.Value.ToShortDateString()}</td>
Но это дает InvalidOperationException: обнуляемый объект должен иметь значение.
Удаление части 'Value' также не будет работать, что даст очевидное сообщение 'System.Nullable не имеет определения для ToShortDateString'.
С условным оператором он работает нормально, но этот работает только для таких атрибутов, как это:
<td value="$!{period.Enddate.Value.ToShortDateString()}?{period.Enddate.HasValue}"></td>
И я пытаюсь получить его внутри элемента td, а не как атрибут для td.
Я что-то здесь не так делаю, или это известная проблема?
Я понимаю, что перехватывать исключение InvalidOperationException (генерируемое классом Nullable) сложнее, чем перехватывать исключение NullReferenceException, но я думаю, что это серьезный недостаток.
Ура,
Рональд