如何在Sharepoint列表中以编程方式创建新版本

如何在Sharepoint列表中以编程方式创建新版本,sharepoint,sharepoint-2007,Sharepoint,Sharepoint 2007,我有一个名为stage的选项字段,让我们假设它有以下值用作下拉列表 stage1 stage2 stage3 在阶段变更时,我想记录时间戳和谁更新了项目信息 如何在我的列表上执行此操作而不创建任何其他列表,我认为使用版本控制可以在该字段的属性更改前后添加新版本 //ItemUpdating Event if(properties.ListItem["Stage"] != properties.AfterProperties["Stage"]) { //Create a Version;

我有一个名为stage的选项字段,让我们假设它有以下值用作下拉列表

stage1
stage2
stage3
在阶段变更时,我想记录时间戳和谁更新了项目信息

如何在我的列表上执行此操作而不创建任何其他列表,我认为使用版本控制可以在该字段的属性更改前后添加新版本

//ItemUpdating Event 
if(properties.ListItem["Stage"] != properties.AfterProperties["Stage"])
{
   //Create a Version;
}

我在这里找不到如何创建版本。

我不确定我是否理解这个问题。如果您启用了版本管理,您的版本历史记录中是否已经有此信息?你为什么需要开发新的东西?

我不确定我是否理解这个问题。如果您启用了版本管理,您的版本历史记录中是否已经有此信息?为什么需要开发新的内容?

如果启用了版本控制,则每次调用该方法时,SharePoint都会自动创建新版本

如果不希望创建新版本,请调用


如果您不想修改“修改人”和“修改人”字段,请调用(请参阅重载,在这里您也传递参数以不创建新版本)。

如果启用了版本控制,则每次调用该方法时,SharePoint都会自动创建新版本

如果不希望创建新版本,请调用


如果您不想修改Modified By和Modified字段,则调用(请参阅重载,在这里您也传递参数以不创建新版本)。

我需要这样做,因为我正在尝试创建一个日志,它可以记录“阶段”中的任何更改对于该项目,我不担心其他更改,但由于启用版本控制将跟踪对该项目所做的任何更改,因此它不适合该项目。嗯,如果该阶段没有更改,如何通过编程方式删除版本?比如说,一个事件接收者?我需要这个,因为我正在尝试创建一个日志,它可以记录项目“阶段”中的任何更改,我不担心其他更改,但因为启用版本控制将跟踪对项目所做的任何更改,它不适合。嗯,如果没有更改版本中的阶段,那么以编程方式删除版本如何?比如说,一个事件接收器?谢谢你的帮助,但我有一个列表事件处理程序,我正在检查天气以创建一个版本,因为我现在知道如何禁用版本控制,但我无法应用它,我在ItemUpdated或ItemUpdated或Eleswere中实际在哪里执行它?列表设置中启用了版本控制。设置->列表设置->版本控制设置通常不检查天气以创建版本或不创建版本-只需调用更新方法。如果将启用版本控制,则将创建版本。如果未启用-未创建。UpdateOverwriteVersion和SystemUpdate方法是例外的,您使用它们只是为了指定您确实不想创建新版本。感谢您的帮助,但我有一个事件处理程序用于列表,我正在检查是否创建版本,因为我现在知道如何禁用版本控制,但无法应用它,在ItemUpdated或ItemUpdated或eleswhere中,我实际在哪里执行此操作?在列表设置中启用了版本控制。设置->列表设置->版本控制设置通常不检查天气以创建版本或不创建版本-只需调用更新方法。如果将启用版本控制,则将创建版本。如果未启用-未创建。UpdateOverwriteVersion和SystemUpdate方法是例外的,您使用它们只是为了指定您确实不想创建新版本。