0

在 Webpart 中,没有任何权限的用户需要读取和更新 Sharepoint 列表。

提升权限可以正常读取列表,但是当我尝试更新同一个列表时,会引发异常。如何更新具有提升权限的列表?

SPSecurity.RunWithElevatedPrivileges(delegate()
{ 

SPSite oSite = SPControl.GetContextSite(HttpContext.Current);
SPWeb oWeb = oSite.OpenWeb();
oWeb.AllowUnsafeUpdates = true;
SPListItemCollection listItems = oWeb.Lists["nameList"].Items;
SPListItem item = listItems.Add();

... 

item.Update(); // Throws Exception
});
4

2 回答 2

1

提升的权限用于添加编辑和删除所有操作,所以他们必须是其他一些问题,请提供异常详细信息

于 2011-05-18T07:29:43.900 回答
0

问题在于 SPSite 的创建。

正确的代码:

SPSite oSite = new SPSite(SPContext.Current.Site.ID); 
SPWeb oWeb = oSite.OpenWeb(SPContext.Current.Web.ID);                                 
listItems  = oWeb.Lists["nameList"];
于 2011-05-20T08:54:18.893 回答