1

プロパティを更新しようとしていSPFileます。

これが私のコードです:

            using (SPSite oSite = new SPSite(sFileURL))
            {
                using (SPWeb oWeb = oSite.OpenWeb())
                {
                    oWeb.AllowUnsafeUpdates = true;
                    oFile = oWeb.GetFile(sFileURL); 
                    foreach (XmlNode xNode in oXmlDoc.FirstChild.ChildNodes)
                    {
                        oFile.Item.Properties[xNode.Name] = xNode.InnerText;
                        string itemmm =oFile.Item.Properties[xNode.Name].ToString();

                    }
                    oFile.Update();
                    oWeb.AllowUnsafeUpdates = false;
                }
            }

問題は、SharePoint でファイル プロパティを確認しても、行った変更が表示されないことです。追加しようとしましAllowUnsafeUpdates = trueたが、問題は解決しませんでした。

他に何ができますか?

4

2 に答える 2

2

実際、SPFileインスタンスを変更するのではなく、関連するSPItem. したがって、呼び出しSPFile.Update()は何もしません。SPItemインスタンスを直接操作することをお勧めします。

SPItem item = oFile.Item;
item.Properties[xNode.Name] = xNode.InnerText;
item.Update();

また、AllowUnsafeUpdatesプロパティはあなたの状況には関係ありません。変更しないでください。

于 2015-12-14T15:53:19.583 に答える