0

我遇到了非常奇怪的错误,在过去的几个小时里解决了这个问题

“当前不允许对 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

请帮帮我

4

1 回答 1

0

你试过MyWeb.Update();之后直接打电话MyWeb.AllowUnsafeUpdates = true;吗?调用可能listname.Update()是通过直接从 Web 中提取而不是表示您在当前上下文中拥有的 Web 的对象来检查此属性。这确实会产生一些问题,因为您需要多次调用该网络/列表上的更新以启用和禁用该属性并删除该项目,因此请记住这一点。

于 2012-08-20T15:15:40.380 回答