Pidä ajautumassa ongelman ja Google ei tunnu koskaan ymmärtää, mitä haluan tehdä, Joten ajattelin kirjoittaa tämän.
Olen tehnyt paljon tapahtuman vastaanotin virheenkorjaus viime viikon tai kaksi. ER määritellään vastaan asiakirjakirjastoon. Yksittäisiä kohteita, asiakirjakirjaston liittyvät tiiviisti pääkansiosta. Niin, Saan aina kohteen kansion erilaisia keinottelu. Korjattaessa, Minun piti päivittää kansion tietyn nimikkeen jonka tunnus tiedän metatiedot.
Tässä on pieni console application (suunniteltu toimimaan palvelinfarmin) kaksi argumenttia, joka vie: ID kohteen ja arvon määrittäminen kenttään, "Hyväksynnän tila". Se kova koodit paljon tavaraa ja ei virheentarkistus.
Koodi näyttää kova koodattu sivusto, saa kova koodattu asiakirjakirjaston ja sitten löytää ilmoitettu. Se sitten löytää kohteen pääkansion ja määrittää tila-arvo.
Keskeinen opetus täällä minulle on, että SPItem ei saada sinulle pääsyn kansioon. Sinun on käytettävä SPListItem.File.
Jos joku viitsii tarjota kritiikkiä tai ehdottaa parempi tapa saada kohde kansioon, Jätä kommentti.
<koodi>
käyttäminen Järjestelmän; käyttäminen System.Collections.Generic; käyttäminen System.Text; käyttäminen Microsoft.SharePoint; käyttäminen System.Collections; nimitila Conchango { /// <Yhteenveto> /// </Yhteenveto> luokan ManualFolderUpdate { staattinen mitättömäksi Pääsivu(merkkijono[] args) { merkkijono MSH = "ManualFolderUpdate (v1.0): "; // MSH = "viestin pääotsikko" Konsoli.WriteLine(MSH + "Käynnistäminen. On viimeksi muokattu 08/04/08."); merkkijono URL = http://localhost/xyzzy; käyttäminen (SPSite oSPSite = Uusi SPSite(URL-osoite)) { käyttäminen (SPWeb oSPWeb = oSPSite.OpenWeb()) { SPList Tiedostokirjaston = oSPWeb.Lists["Asiakirjat"]; Konsoli.WriteLine(MSH + "Got asiakirjakirjastoon."); Konsoli.WriteLine(MSH + "Doc lib kohteiden määrä: [" + docLib.ItemCount + "]."); int FolderId-tunnusta = 0; merkkijono NewStatus = "xyzzy"; FolderId-tunnusta = järjestelmän.Muuntaa.ToInt32(args[0].Ominaisuuden ToString()); Konsoli.WriteLine("Hakevat kansion kohteen: [" + FolderId-tunnusta + "]."); SPListItem Li = docLib.GetItemById(FolderId-tunnusta); SPFolder thisItemFolder = li.File.ParentFolder; Konsoli.WriteLine(MSH + "Got pääkansion."); NewStatus = args[1].Ominaisuuden ToString(); Konsoli.WriteLine("Tilaksi asetetaan [" + NewStatus + "]."); Konsoli.WriteLine("Paina return päivitys tai CTRL-C keskeyttää."); Konsoli.ReadLine(); thisItemFolder.Item[Hyväksynnän tila""] = NewStatus; thisItemFolder.Item.Update(); Konsoli.WriteLine(MSH + "Valmis päivittää kansio. Poistuminen."); } // käyttämällä SPWeb } // käyttämällä SPSite Konsoli.WriteLine(MSH + "Valmis."); } // Pääsivu } // luokan foldersync } // nimitila
</koodi>
</loppu>