【发布时间】:2011-08-27 19:26:52
【问题描述】:
在 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
});
【问题讨论】:
-
异常发送消息“无法到达由于上下文无关的跟踪”。
-
基本上是重复的。看看这个答案:stackoverflow.com/questions/6043312/…
-
我建议在正确的代码中使用 using,您不应该让 spsite 和 spweb 对象未处理。如果您不是直接从 spcontext 或您在正确代码上方的代码中编写的方式获取它
标签: sharepoint sharepoint-2010 web-parts elevated-privileges