我得到了非常奇怪的错误,最后几个小时解决了这个问题
“GET请求目前不允许更新。要允许GET上的更新,请在SPWeb上设置'AllowUnsafeUpdates'属性。”
Public Shared Sub DeleteListItem(ByVal listname As SPList, ByVal intItemID As Integer)
Using MySite As New SPSite(SPContext.GetContext(System.Web.HttpContext.Current).Web.Url)
Using MyWeb As SPWeb = MySite.OpenWeb()
MyWeb.AllowUnsafeUpdates = True
Dim itemColforGivenList As SPListItemCollection
Dim query As New SPQuery()
query.Query = "<Where><Eq><FieldRef Name='ID'/><Value Type='Counter'>" &
intItemID & "</Value></Eq></Where>"
MyWeb.AllowUnsafeUpdates = True
itemColforGivenList = listname.GetItems(query)
If itemColforGivenList.Count > 0 Then
For i As Integer = listname.Items.Count - 1 To 0 Step -1
If listname.Items(i).ID = intItemID Then
MyWeb.AllowUnsafeUpdates = True
listname.Items.Delete(i)
listname.Update()
MyWeb.AllowUnsafeUpdates = False
End If
Next
End If
End Using
End Using
请帮帮我
答案 0 :(得分:0)
您是否尝试过MyWeb.Update();
之后直接致电MyWeb.AllowUnsafeUpdates = true;
? listname.Update()
调用可能是通过直接从Web中提取而不是在当前上下文中表示您具有该Web的对象来检查此属性。这确实会产生一些问题,因为您需要多次调用该Web /列表上的更新以启用和禁用该属性,并删除该项目,因此请记住这一点。