Folyamatosan fut-ba ez probléma, és a Google soha nem úgy tűnik, hogy megértsék, mit akarok csinálni, úgy gondoltam, hogy lenne írni ezt le.
Végeztem egy csomó eseményérzékelő hibakeresés a múlt héten, vagy két. Az ER definiált a dokumentumtárban. Az egyes elemeket a dokumentumtár szorosan kapcsolódnak a szülő tartók. Így, Mindig kapok a mappát az elem különböző manipulációk. Rövid idő hibakeresés, Kellett, hogy egy mappa, egy adott cikk azonosító tudom, hogy a metaadatok frissítése.
Itt van egy kis konzol alkalmazás (úgy terveztük, hogy a kiszolgáló a farmban) úgy, hogy két érv: az azonosító egy elem és egy érték hozzárendelése egy mező, "Jóváhagyás". Ez kemény-kód egy csomó dolgot, és nincs hibaellenőrzés.
A kód úgy néz ki egy fixen kódolt oldal, kap egy fixen kódolt dokumentumtárat, és ezt követően megkeresi a megjelölt elem. Ez megállapítja, hogy a szülőmappát, majd hozzárendeli az állapot értéke.
A legfontosabb tanulság számomra az, hogy a SPItem nem kap hozzáférést a mappához. Kell használni a SPListItem.File.
Ha valakit érdekel, hogy felajánl egy kritika, vagy azt sugallják, egy jobb út-hoz kap a mappa elem, Kérem, hagyjon egy megjegyzést.
<kód>
használatával Rendszer; használatával System.Collections.Generic; használatával System.Text; használatával Microsoft.SharePoint; használatával System.Collections; névtér Conchango { /// <Összefoglaló> /// </Összefoglaló> osztály ManualFolderUpdate { statikus Érvénytelen Fő(karakterlánc[] ARG) { karakterlánc MSH = "ManualFolderUpdate (v1.0): "; // MSH = "üzenet fejléc" Konzol.WriteLine(MSH + "Indítása. Utolsó módosításának a 04/08/08."); karakterlánc URL = http://localhost/xyzzy; használatával (SPSite oSPSite = új SPSite(URL)) { használatával (SPWeb oSPWeb = oSPSite.OpenWeb()) { Meg az SPList.Update() docLib = oSPWeb.Lists["A dokumentumok"]; Konzol.WriteLine(MSH + "Got a dokumentumtárban."); Konzol.WriteLine(MSH + "Doc lib elemszám: [" + docLib.ItemCount + "]."); int Mappaazonosító = 0; karakterlánc NewStatus = "xyzzy"; Mappaazonosító = rendszer.Konvertálás.ToInt32(ARG[0].ToString()); Konzol.WriteLine("Keresek a mappa elem: [" + Mappaazonosító + "]."); SPListItem Li = docLib.GetItemById(Mappaazonosító); SPFolder thisItemFolder = li.File.ParentFolder; Konzol.WriteLine(MSH + "Got a szülő dosszié."); NewStatus = ARG[1].ToString(); Konzol.WriteLine("A beállítás állapota [" + NewStatus + "]."); Konzol.WriteLine("Nyomja meg a return elkövetni a frissítés vagy CTRL-C-elvetél."); Konzol.ReadLine(); thisItemFolder.Item["Jóváhagyási állapot"] = NewStatus; thisItemFolder.Item.Update(); Konzol.WriteLine(MSH + "Kész a mappa frissítése. Kilépés."); } // segítségével SPWeb } // segítségével SPSite Konzol.WriteLine(MSH + "Kész."); } // Fő } // foldersync osztály } // névtér
</kód>
</vége>