Когда поле DateTime остается пустым, Sensenet отображает (по умолчанию) '01/01/01 12:00 'в режиме просмотра содержимого. Может ли оно отображаться без значения, поскольку оно не было введено пользователями?Sensenet DateTime Поле Значение по умолчанию
ответ
Вы также можете решить эту проблему с помощью кода сервера в обработчике содержимого.
Если вы создаете экземпляр нового объекта DateTime
, его значением по умолчанию является 1/1/0001 12:00:00 AM
, также указанное как DateTime.MinValue
. DateTime.MaxValue
- 12/31/9999 11:59:59 PM
. Затем вы тестируете DateTime.MinValue
для форматирования адреса.
Если у вас есть контент, в котором вы будете много форматировать и отображать даты, в определении типа контента (CTD) часто проще определить поле строки, соответствующее полю даты. Например, ваш CTD может иметь такие поля, как это:
<Field name="ReviewDate" type="DateTime" >
<DisplayName>Review Date</DisplayName>
</Field>
<Field name="ReviewDateStr" type="ShortText" >
<DisplayName>Review Date</DisplayName>
</Field>
Тогда в обработчике содержимого, вы создаете только для чтения добытчика для отображения ReviewDate:
private const string REVIEWDATESTRPROPERTY = "ReviewDateStr";
[RepositoryProperty(REVIEWDATESTRPROPERTY, RepositoryDataType.String)]
public virtual string ReviewDateStr
{
get
{
if (ReviewDate == DateTime.MinValue)
{
return "n/a"; // Default string if date is not set.
}
return ReviewDate.ToString(); // Add date formatting here.
}
}
В качестве альтернативы, вы можете создать field control, что делает тот же предмет.
Значение по умолчанию поля DateTime не может быть пустым, поэтому, если вы хотите скрыть его в представлении «Обзор», вы можете использовать скрипт для проверки значений даты и времени, а если он содержит 01/01/01, вы можете просто удалить/скрыть его с помощью js в браузере. Существует вспомогательная функция для форматирования дат (SN.Util.js 'setFriendlyLocalDate'), которая также обрабатывает эту проблему со значением по умолчанию.
- 1. MySQL Значение по умолчанию DATETIME
- 2. Значение по умолчанию для datetime
- 3. Установить значение по умолчанию в поле Datetime в форме symfony2
- 4. Значение по умолчанию для EntityType Поле
- 5. Automapper Игнорировать значение по умолчанию для DATETIME
- 6. Значение по умолчанию для поля DATETIME
- 7. Как проверить значение DateTime по умолчанию?
- 8. Значение по умолчанию для параметра DateTime
- 9. DATETIME Значение по умолчанию 0 MYSQL 5.5.25
- 10. Лучше DateTime? или использовать значение по умолчанию (DateTime) для NULL?
- 11. Поле DATE MySQL с по умолчанию CURDATE(). NOT DATETIME
- 12. Значение по умолчанию в текстовом поле
- 13. Доктрина: значение по умолчанию в поле joinColumn
- 14. Rails: Значение по умолчанию - поле выбора
- 15. Поле доступа - значение по умолчанию + номера префикса
- 16. Угловая текстовое поле значение по умолчанию
- 17. Значение по умолчанию в zenity-поле
- 18. Значение по умолчанию в поле iterationcombo
- 19. Значение по умолчанию в текстовом поле
- 20. Значение по умолчанию в вычисленном поле
- 21. MVC - Значение по умолчанию в поле
- 22. MySQL - удалить значение по умолчанию для поля Datetime
- 23. Использование значения по умолчанию (DateTime)?
- 24. Open Office Base Datetime По умолчанию
- 25. Ionic Timepicker Значение по умолчанию
- 26. Как установить HTML datetime введите значение по умолчанию
- 27. ASP.net MVC данных аннотаций DateTime Значение по умолчанию
- 28. Значение по умолчанию Значение по умолчанию Hibernate
- 29. Значение даты по умолчанию DateTime SharePoint уважает часовой пояс
- 30. TextBoxFor нежелательное изменение его по умолчанию формат DateTime значение
Спасибо, есть ли образец кода (просмотр содержимого), где это реализовано, на что я могу взглянуть? –
проверьте режим просмотра полевых полей DatePicker (/Root/Global/fieldcontroltemplates/DatePicker/BrowseTemplate.ascx) –