0

从我的 aspx.cs 调用此方法时出现此错误。

此页面的安全验证无效。在您的 Web 浏览器中单击返回,刷新页面,然后再次尝试您的操作

           //SPUtility.ValidateFormDigest(); // still not working although I added it later //hit the error here **** if I add
                using (SPSite site = new SPSite(spServerURL))
                {
                    using (SPWeb oWebsite = site.OpenWeb())
                    {
                        SPSecurity.RunWithElevatedPrivileges(delegate()
                        {
                            using (SPSite elevatedSite = new SPSite(site.ID))
                            {
                                using (SPWeb elevatedWeb = elevatedSite.OpenWeb(oWebsite.ID))
                                {
                                    if (elevatedWeb.GetFile(DocumentLibraryName + "/" + folderName + "/" + fileName).Exists)
                                    {
                                        elevatedSite.AllowUnsafeUpdates = true;
                                        #region hitting error
                                        SPFile file = elevatedWeb.GetFile(spDocumentLibraryName + "/" + folderName + "/" + fileName);
                                        file.SetProperty("APPNO", "Test");
                                        file.Update(); //hit the error *****

                                        #endregion
                                        elevatedSite.AllowUnsafeUpdates = false;
                                    }
                                }
                            }
                        });
                    }
                }

我看到有人说如果我们需要打电话

SPUtility.ValidateFormDigest(); //遇到错误* *

方法,但是一旦我将这一行放入我的代码中,我就在这一行中遇到了错误。

我应该如何解决?

4

2 回答 2

4

elevatedSite.AllowUnsafeUpdateselevatedWeb.AllowUnsafeUpdates!!替换后效果很好

于 2012-11-27T03:59:43.530 回答
0

你把控制

在您的母版页中,此页指的是哪个?

如果没有,那么把它放在那里,可能这个错误会消失。

让我知道你的结果。

于 2012-11-26T12:29:03.530 回答