今天在国外网站看到篇东东,感觉是一个细节问题,这里贴出来共享~
通过使用RunWithElevatedPrivileges将使列表项的“修改者”一栏变为系统账户,如果要让“修改者”记录为当前用户,则以下代码可供参考:
item[ " Author " ] = SPContext.Current.Web.CurrentUser;
item.SystemUpdate();
[Created By] is set to the current user but [Modified By] is set to System Account.
item[ " Author " ] = SPContext.Current.Web.CurrentUser;
item.Update();
Both [Created By] and [Modified By] are set to the current user.
差别就在调用item的
Update()
或者
SystemUpdate()
了。
即使是包含在
SPSecurity.RunWithElevatedPrivileges
代码块里,
SPContext.Current.Web.CurrentUser
也是指向当前用户而不是系统账户的用户
的。