求大神指点啊,文件夹的权限问什么没有提升啊

潇湘忆梦 2013-04-01 10:14:49
SPDocumentLibrary CurrentLibrary = null;
SPFolder CurrentFolder = null;
SPQuery query = new SPQuery();
List<SPFolder> ListFolders = new List<SPFolder>();
List<HyperLink> ListLinkPath = new List<HyperLink>();

int CurrentSubFolderNum = 0;
bool CurrentIsLibraryRoot = false;
string ViewRelativeUrl = string.Empty;


#region 属性初始化
SPSecurity.RunWithElevatedPrivileges(delegate()
{
CurrentLibrary = (SPDocumentLibrary)SPContext.Current.List;
CurrentFolder = SPContext.Current.Web.GetFolder(SPContext.Current.RootFolderUrl);
CurrentIsLibraryRoot = CurrentLibrary.RootFolder.ServerRelativeUrl == CurrentFolder.ServerRelativeUrl;


var query = from item in CurrentFolder.SubFolders.OfType<SPFolder>()
where item.Name.ToLower() != "forms" && item.Name.ToLower() != "temp"
select item;

CurrentSubFolderNum = query.Count();

ViewRelativeUrl = SPContext.Current.ViewContext.View.ServerRelativeUrl;
#endregion
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2013-04-01
  • 打赏
  • 举报
回复
亲 提权需要重新new一个对象,用Context的是不行的
潇湘忆梦 2013-04-01
  • 打赏
  • 举报
回复
没有用啊,文件夹的权限还是没有提升
天涯海角 2013-04-01
  • 打赏
  • 举报
回复
这个不行吗?
    SPSecurity.RunWithElevatedPrivileges(delegate() ....
潇湘忆梦 2013-04-01
  • 打赏
  • 举报
回复
问题已经解决,修改代码如下: SPDocumentLibrary CurrentLibrary = null; SPFolder CurrentFolder = null; SPQuery query = new SPQuery(); HyperLink HyperUp = new HyperLink(); List<SPFolder> ListFolders = new List<SPFolder>(); List<HyperLink> ListLinkPath = new List<HyperLink>(); int CurrentSubFolderNum = 0; bool CurrentIsLibraryRoot = false; string ViewRelativeUrl = string.Empty; #region 属性初始化 SPSite SiteGuid = SPContext.Current.Site; SPWeb WebGuid = SPContext.Current.Web; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite ElevatedsiteColl = new SPSite(SiteGuid.ID)) { using (SPWeb ElevatedSite = ElevatedsiteColl.OpenWeb(WebGuid.ID)) { CurrentLibrary = (SPDocumentLibrary)SPContext.Current.List; CurrentFolder = ElevatedSite.GetFolder(SPContext.Current.RootFolderUrl); //CurrentFolder = SPContext.Current.Web.GetFolder(SPContext.Current.RootFolderUrl); CurrentIsLibraryRoot = CurrentLibrary.RootFolder.ServerRelativeUrl == CurrentFolder.ServerRelativeUrl; var query = from item in CurrentFolder.SubFolders.OfType<SPFolder>() where item.Name.ToLower() != "forms" && item.Name.ToLower() != "temp" select item; CurrentSubFolderNum = query.Count(); ViewRelativeUrl = SPContext.Current.ViewContext.View.ServerRelativeUrl; #endregion
天涯海角 2013-04-01
  • 打赏
  • 举报
回复
引用 5 楼 songyajun_zzuli 的回复:
引用 3 楼 FoxDave 的回复:亲 提权需要重新new一个对象,用Context的是不行的 大神,SPFolder怎么实例化啊,求解释
在RunWithElevatedPrivileges的语句块中添加
using (SPSite site = new SPSite(siteUrl))
{
  // .....  Acess the folder from the site in the using block
}
潇湘忆梦 2013-04-01
  • 打赏
  • 举报
回复
引用 3 楼 FoxDave 的回复:
亲 提权需要重新new一个对象,用Context的是不行的
大神,SPFolder怎么实例化啊,求解释

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧