Установите значение поля даты и времени в ноль - PullRequest
5 голосов
/ 30 июля 2009

Итак, у меня есть проблема, которую кто-то, возможно, решил (или я так надеюсь). У меня есть поле даты и времени, которое я использую в типе контента (на шаблоне списка), который имеет свою собственную форму редактирования.

Вот краткий обзор того, что происходит:

  1. При добавлении значения в столбец datetime и сохранении обновленного значения отображается (как и ожидалось).
  2. Обновление столбца datetime и добавление нулевого значения (очистка значения) с помощью формы редактирования. Значение не обновляется, а вместо этого показывает старое значение.

Я немного поэкспериментировал с этим и пришел к выводу, что если я добавлю приемник событий и попытаюсь обновить там значение, он даже не введет приемник событий в виде пустой строки (у меня была идея, что значение равно пустая строка и sharepoint не могут проанализировать это как нулевое время даты), что заставляет меня думать, что есть проблема с fieldcontrol, которая вызывает это. Я также нашел эту статью о MSDN, которая, похоже, связана с той же проблемой. Кроме того, поле datetime в типе содержимого не требуется.

Есть идеи или предложения?

UPDATE:

Видимо, это происходит только тогда, когда я использую пользовательскую форму редактирования. Когда я использую один из встроенных шаблонов списков, это работает как шарм.

Ответы [ 2 ]

1 голос
/ 31 июля 2009

У меня были подобные проблемы с этим в прошлом. Это действительно известная ошибка. Один из обходных путей - установить в поле минимальное или максимальное значение типа и проверить это значение там, где это необходимо, и выполнить соответствующие преобразования. В зависимости от настроек и использования вы можете создать триггер для преобразования минимальных / максимальных значений в ноль и, таким образом, минимизировать код, необходимый для выполнения такой работы.

0 голосов
/ 10 августа 2009

После некоторых глубоких исследований я обнаружил, что корень этой проблемы связан с тем, что я использовал распространение узлов XML между столбцами в списке и реальным файлом XML. Я предварительно боролся с этим относительно стандартных текстовых полей и думал, что я позаботился об этом вопросе ... по-видимому, нет. Поля DateTime, по-видимому, не будут отправлены в eventreceiver afterproperties, если он равен нулю, так как мой код не будет принимать его как нулевое значение. Мне пришлось взять это дело и добавить их в afterproperties, если я не могу найти их в afterproperties. Я сделаю серию постов об этих проблемах и вскоре опубликую ссылки на этот пост.

ОБНОВЛЕНИЕ:

Я заполнил пост блога о том, как я решил эту проблему. Не стесняйтесь проверить это: http://johanleino.wordpress.com/2009/08/24/node-demotion-does-not-work-with-blank-empty-values/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...