[Problem description]
When updating list items in the list, we often need to useSpsecurity. Runwithelevatedprivileges (Delegate(){}ToItem. Update ()But sometimes this will cause errors.
Solution 1]
1.SetItem. Update ()After the permission is upgradedSiteAnd text in the elevation of permissions:
SplistList =Null;
Spsecurity. Runwithelevatedprivileges (Delegate()
{
Site =New Spsite(Sitecollectionurl );
Web = site. rootweb;
});
List = web. Lists ["Notification library"];
SplistitemItem = List. Items. Add ();
IItem [title] ="123 ";
Item. Update ();
2.After the permission is upgradedListitemSimilar errors may also occur and can be solved in the same way:
Protected VoidPage_load (ObjectSender,EventargsE)
{
Spsecurity. Runwithelevatedprivileges (Delegate()
{
Updateitem ();
}
);
}
VoidUpdateitem ()
{
SpsiteSite =New Spsite("Http: // ssjin073: 9032");
SpwebWeb = site. rootweb;
//Force set context object
Httpcontext. Current. items ["Httphandlerspweb"] = Web;
Web. allowunsafeupdates =True;
SplistList = web. Lists ["Mainlist"];
SplistitemItem = List. items [0];
Item ["Title"] =Datetime. Now. tostring ();
Item. Update ();
Web. Dispose ();
Site. Dispose ();
}
The second method comes from:Http://www.cnblogs.com/jianyi0115/archive/2008/04/11/1148827.html