更新时间:2023-12-04 22:03:40
您需要创建具有提升权限的新对象.
You need to create new object with elevated privieges.
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite oSite = new SPSite(SPContext.Current.Site.ID);
SPWeb oWeb = oSite.OpenWeb(SPContext.Current.Web.ID);
demoList = oWeb.Lists["nameList"];
});
另外,你应该处理新创建的对象,不需要两个委托.
Also, you should dispose of the newly created objects and there is no need for two delegates.
SPSecurity.RunWithElevatedPrivileges(delegate {
using (SPSite oSite =new SPSite(SPContext.Current.Site.ID))
using (SPWeb oWeb = oSite.OpenWeb()) {
var demoList = oWeb.Lists["nameList"];
SPQuery oQuery = new SPQuery
{ Query = "<OrderBy><FieldRef Name='Date' Ascending='False' /></OrderBy>" };
SPListItemCollection collListItems = demoList.GetItems(oQuery);
//IF ADMIN
//collListItems.Count ==>3
//IF NO ADMIN
//collListItems.Count ==>0
}
});