Aš nuolat veikia į šią problemą ir "Google" niekada atrodo, kad suprasti, ką noriu daryti, so I figured I 'd rašyti šio žemyn.
I been doing daug atveju imtuvo derinimo paskutinę savaitę ar dvi. ER nustatomas nuo dokumentų bibliotekoje. Atskirus elementus dokumentų bibliotekoje yra glaudžiai susiję su pirminių aplankų. Taigi, Aš visada gaunu aplanką prekės už įvairias manipuliacijas. Derinant, Man reikia atnaujinti aplanką konkrečios prekės kurios ID žinau metaduomenų.
Čia yra mažai console application (suprojektuoti veikti su serverio ūkio) kad mano du argumentai: ID elemento ir reikšmę norite priskirti lauką, ,, Patvirtinimo būsena". Tai sunku kodus daug daiktų ir be klaidų tikrinimas.
Kodas atrodo iki sunkiai koduojamų svetainėje, tampa sunkiai koduotų dokumentų bibliotekoje ir tada randa nurodytą elementą. Tada randa pirminio aplanko apie šį objektą ir priskiria būsenos vertei.
Pagrindinis pamoka čia man yra tai, kad SPItem neturi gauti prieigą prie aplanko. Jums reikia naudoti SPListItem.File.
Jei kas nors rūpinasi pasiūlyti kritika arba siūlyti geresnis būdas gauti elementą aplanke, Prašome palikti komentarą.
<kodas>
naudojant Sistemos; naudojant System.Collections.Generic; naudojant System.Text; naudojant Microsoft.SharePoint; naudojant System.Collections; vardų sritis Conchango { /// <santrauka> /// </santrauka> klasės ManualFolderUpdate { statinis negalioja Pagrindinis(eilutė[] args) { eilutė MSH = "ManualFolderUpdate (v1.0): "; // MSH = "laiško antraštė" Konsolės.WriteLine(MSH + "Pradėti kurti. Aš paskutinio modifikavimo 08/04/08."); eilutė URL = http://localhost/xyzzy; naudojant (SPSite oSPSite = naujas SPSite(URL)) { naudojant (SPWeb oSPWeb = oSPSite.OpenWeb()) { SPList dokumentų bibliotekos = oSPWeb.Lists["Dokumentai"]; Konsolės.WriteLine(MSH + "Gavo dokumentų biblioteką."); Konsolės.WriteLine(MSH + "Doc lib prekių skaičius: [" + docLib.ItemCount + "]."); LC Aplanko ID = 0; eilutė NewStatus = "xyzzy"; Aplanko ID = sistemos.Konvertuoti.ToInt32(args[0].ToString()); Konsolės.WriteLine("Ieško aplanko elemento: [" + Aplanko ID + "]."); SPListItem Li = docLib.GetItemById(Aplanko ID); SPFolder thisItemFolder = li.File.ParentFolder; Konsolės.WriteLine(MSH + "Gavo aukštesnio lygio aplanką."); NewStatus = args[1].ToString(); Konsolės.WriteLine("Nustačius statusą [" + NewStatus + "]."); Konsolės.WriteLine("Paspauskite grįžti į atnaujinti arba CTRL-C nutraukti padarymui."); Konsolės.ReadLine(); thisItemFolder.Item[,, Patvirtinimo būsena"] = NewStatus; thisItemFolder.Item.Update(); Konsolės.WriteLine(MSH + "Baigiau atnaujinama aplanką. Išeinant."); } // naudojant SPWeb } // naudojant SPSite Konsolės.WriteLine(MSH + "Baigė."); } // Pagrindinis } // klasės foldersync } // vardų sritis
</kodas>
</pabaigos>