[WSS 3.0] 更新清單建立者(Author)
using (SPSite oSite = new SPSite("http://localhost"))
{
using (SPWeb oWeb = oSite.OpenWeb("docs"))
{
SPList oList = oWeb.Lists["文件"];
SPListItem oListItem = oList.GetItemById(1);
SPFieldUserValue oUser = new SPFieldUserValue(oWeb, oWeb.AllUsers["domain\\john"].ID, oWeb.AllUsers["domain\\john"].LoginName);
oListItem["Author"] = oUser;
oListItem["Editor"] = oUser;
oListItem.SystemUpdate(true);
if (oList.EnableModeration)
oListItem.File.Approve("Upgrade User Account.");
}
}注意事項:
- 雖然只有要更新”Author”這個欄位,但是在清單類型是”文件庫(Document Library)”
的時候,不加上更新”Editor”欄位時,無法更新成功(不會有錯誤訊息,但是在執行Update
之後,會回復原始值),清單類型是”清單(List)”時,則無此限制。 - SystemUpdate 也可使用 Update、UpdateOverwriteVersion,差別在版本的部份。
如果有開啟版本時,Update會增加次要版本、SystemUpdate不會增加版本,但是不會改Editor;
UpdateOverwriteVersion會增加次要版本,詳細請參考MSDN Update、MSDN SystemUpdate
、MSDN UpdateOverwriteVersion。