将datetime字段的值设置为null

Joh*_*ino 5 sharepoint

所以,我遇到了一个人可能已经解决的问题(或者我希望如此).我有一个datetime字段,我在一个contenttype(在listtemplate上)使用它有自己的editform.

以下是发生的事情的演练:

  1. 将值添加到datetime列并保存更新的值会显示(如预期的那样).
  2. 更新datetime列并通过editform添加null(清空值).该值未更新,而是显示旧值.

我做了一些实验,我得出的结论是,如果我添加一个eventreceiver并尝试更新那里的值,它甚至不会将eventreceiver作为空字符串输入(我知道该值是一个空字符串并且sharepoint无法将其解析为null datetime)这导致我认为fieldcontrol存在导致此问题的问题.我也在MSDN上发现这篇文章似乎是围绕同一个问题.而且,contenttype中的datetime字段不是必需的.

任何想法或建议?

更新:

显然,这只发生在我使用自定义编辑窗体时.当我使用其中一个内置的listtemplates时,这就像一个魅力.

Joh*_*ino 0

经过一番深入调查后,我发现这个问题的根源与我在列表中的列和实际 xml 文件之间使用 XML 节点传播有关。我之前一直在努力解决有关标准文本字段的问题,并认为我已经解决了这个问题......显然没有。如果 DateTime 字段为 null,则显然不会将其发送到 eventreceiver afterproperties,因此我的代码不会将其作为 null 值选取。如果我能\xc2\xb4t 在 afterproperties 中找到它们,我必须考虑这种情况并将它们添加到 afterproperties 中。我将制作一个关于这些问题的博文系列,并很快发布这篇文章的链接。

\n\n

更新:

\n\n

我现在已经完成了一篇关于我如何解决这个问题的博文。请随意查看:\n http://johanleino.wordpress.com/2009/08/24/node-demotion-does-not-work-with-blank-empty-values/

\n