sharepoint文档库文档版本信息操作
SPListItem spDoc = oWeb.Lists["共享文檔"].GetItemById(DocumentID);
SPFileVersionCollection versionColl = spDoc.File.Versions;
foreach (SPFileVersion version in versionColl)
? ?{
//將UTC時(shí)間格式轉(zhuǎn)換為本地時(shí)間
? ? ? DateTime versionTime = Convert.ToDateTime(oWeb.RegionalSettings.TimeZone.UTCToLocalTime(Convert.ToDateTime(version.Properties["vti_timelastmodified"])));
? ? ? string versionTimeString = versionTime.ToString("yyyy/MM/dd/ HH:mm");
? ? ? 文檔版本記錄.Add(new ListEntity.文檔版本歷史記錄列表(Convert.ToString(version.VersionLabel),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?versionTimeString,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Convert.ToString(version.Properties["vti_modifiedby"]),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Convert.ToString(version.Properties["vti_filesize"]),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Convert.ToString(version.CheckInComment)));
? ? ? ? ? ? ? ??
? ?}
//上面只能得到,版本歷史記錄-1條,最后一天不在SPFileVersion中。最后一天原則上能在SPListItemVersion 中找到,貌似還沒(méi)有找到更好的方法。
?
?
? ? ? ? #region 版本信息操作
? ? ? ? /// <summary>
? ? ? ? /// 獲取當(dāng)前版本信息 參數(shù)
? ? ? ? /// </summary>
? ? ? ? void getTemplateVision()
? ? ? ? {
? ? ? ? ? ? string url = "/Lists/test";
? ? ? ? ? ? using (SPSite site = new SPSite(this.Web.Url))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? using (SPWeb spweb = site.OpenWeb())
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? SPList TemplateList = spweb.GetList(url);
? ? ? ? ? ? ? ? ? ? SPListItem item = TemplateList.GetItemById(this.JRequest.Id);
? ? ? ? ? ? ? ? ? ? List<DocVersion> vs = new List<DocVersion>();
? ? ? ? ? ? ? ? ? ? SPFileVersionCollection vsColl = item.File.Versions;
? ? ? ? ? ? ? ? ? ? foreach (SPFileVersion version in vsColl)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? DocVersion v = new DocVersion();
? ? ? ? ? ? ? ? ? ? ? ? v.Created = version.Created;
? ? ? ? ? ? ? ? ? ? ? ? v.Author = version.CreatedBy.Name;
? ? ? ? ? ? ? ? ? ? ? ? v.VersionId = version.ID;
? ? ? ? ? ? ? ? ? ? ? ? v.URL = version.File.Url;
? ? ? ? ? ? ? ? ? ? ? ? v.No = version.VersionLabel;
? ? ? ? ? ? ? ? ? ? ? ? vs.Add(v);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? this.JResponse.DocVersion = vs;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
?
?
?
? ? ? ? /// <summary>
? ? ? ? /// 覆蓋當(dāng)前版本?
? ? ? ? /// </summary>
? ? ? ? void RestoreTemplateVision()
? ? ? ? {
? ? ? ? ? ? string url = "/Lists/test";
? ? ? ? ? ? string templatevid = Request["VersionId"];
? ? ? ? ? ? int vid = 0;
? ? ? ? ? ? Int32.TryParse(templatevid, out vid);
? ? ? ? ? ? if (vid > 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? SPSecurity.RunWithElevatedPrivileges(delegate()
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? using (SPSite spSite = new SPSite(this.Web.Url))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? using (SPWeb spWeb = spSite.OpenWeb())
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? spWeb.AllowUnsafeUpdates = true;
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPList TemplateList = spWeb.GetList(url);
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPListItem item = TemplateList.GetItemById(this.JRequest.Id);
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPFileVersionCollection vs = item.File.Versions;
? ? ? ? ? ? ? ? ? ? ? ? ? ? vs.RestoreByID(vid);//將當(dāng)前版本置頂為最新版本,這個(gè)動(dòng)作會(huì)新增一個(gè)版本號(hào),并將當(dāng)前版本文檔追加到新增的版本
? ? ? ? ? ? ? ? ? ? ? ? ? ? spWeb.AllowUnsafeUpdates = false;
?
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });
? ? ? ? ? ? }
? ? ? ? }
?
? ? ? ? /// <summary>
? ? ? ? /// 刪除當(dāng)前版本?
? ? ? ? /// </summary>
? ? ? ? void delTemplateVision()
? ? ? ? {
? ? ? ? ? ? string url = "/Lists/test";
? ? ? ? ? ? string templatevid = Request["VersionId"];
? ? ? ? ? ? int vid = 0;
? ? ? ? ? ? Int32.TryParse(templatevid, out vid);
? ? ? ? ? ? if (vid > 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? SPSecurity.RunWithElevatedPrivileges(delegate()
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? using (SPSite site = new SPSite(this.Web.Url))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? using (SPWeb web = site.OpenWeb())
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? web.AllowUnsafeUpdates = true;
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPList TemplateList = web.GetList(url);?
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPListItem item = TemplateList.GetItemById(this.JRequest.Id);
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPFileVersionCollection vs = item.File.Versions;
? ? ? ? ? ? ? ? ? ? ? ? ? ? SPFileVersion sv = vs.GetVersionFromID(vid);
? ? ? ? ? ? ? ? ? ? ? ? ? ? if (sv != null)
? ? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sv.Delete();
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? web.AllowUnsafeUpdates = false;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? #endregion
?
?
? ? public class DocVersion
? ? {
? ? ? ? public DateTime Created;
? ? ? ? public string Author;
? ? ? ? public string No;
? ? ? ? public int VersionId;
? ? ? ? public string URL;
? ? }
?
總結(jié)
以上是生活随笔為你收集整理的sharepoint文档库文档版本信息操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一步步编写操作系统 51 加载内核4
- 下一篇: mysql slowlog中queryt