Kiire ja lihtne: Saada SPItemList SPFolderit

Hoida jooksevad selle probleemi ja Google ei tundu aru, mida ma tahan teha, nii et ma arvasin ma oleks kirjutada see.

Olen teinud palju sündmuse vastuvõtja viimase nädala või kaks silumine. ER määratletakse vastu dokumenditeeki. Dokumenditeegi üksikesemetena on tihedalt seotud emakausta. Nii, Ma olen alati saada üksus kausta erinevaid töötlusi. Silumise ajal, Mul on vaja kausta kindlustuskulu kelle ID tean metaandmete värskendamine.

Siin on väike console application (mõeldud töötama serveripargi serveritele) mis saab kaks argumenti: üksuse ID, väärtuse määramiseks välja, "Kinnituse olek". See raske koodid palju asju ja on vigade kontroll.

Kood tundub kõva kodeeritud saidi, saab kõva kodeeritud dokumenditeek ja siis leiab näidatud. Seejärel leiab selle üksuse emakausta ja kinnistab oleku väärtus.

Peamiseks õppetunniks minu jaoks on see, et SPItem ei saa teile juurdepääsu kausta. Peate kasutama SPListItem.File.

Kui keegi hoolib pakkuda kriitika või soovitan parem viis saada üksus kausta, palun jäta kommentaar.

<kood>
kasutades Süsteemi;
kasutades System.Collections.Generic;
kasutades System.Text;
kasutades Microsoft.SharePoint;
kasutades System.Collections;

nimeruumi Conchango
{
    /// <Kokkuvõte>
 /// </Kokkuvõte>
 klass ManualFolderUpdate
    {
        staatiline tühine Esilehele(stringi[] args)
        {
            stringi MSH = "ManualFolderUpdate (v1.0): "; // MSH = "sõnumi päis"

 Konsool.WriteLine(MSH + "Käivitamine.  Mul oli muudetud 08/04/08.");

            stringi URL = http://localhost/xyzzy;

            kasutades (SPSite'i oSPSite = Uus SPSite'i(URL-i))
            {

                kasutades (SPWebi oSPWeb = oSPSite.OpenWeb())
                {
                    SPList Dokumenditeegi = oSPWeb.Lists["Dokumendid"];

                    Konsool.WriteLine(MSH + "Sain dokumenditeeki.");

                    Konsool.WriteLine(MSH + "Doc lib üksuste arv: [" + docLib.ItemCount + "].");

                    int Kausta ID = 0;
                    stringi NewStatus = "xyzzy";

                    Kausta ID = süsteemi.Teisendada.ToInt32(args[0].ToString());
                    Konsool.WriteLine("Taotlev üksus kausta: [" + Kausta ID + "].");

                    SPListItem Li = docLib.GetItemById(Kausta ID);

                    SPFolderit thisItemFolder = li.File.ParentFolder;

                    Konsool.WriteLine(MSH + "Sain emakausta.");

                    NewStatus = args[1].ToString();
                    Konsool.WriteLine(Sätte olekut" [" + NewStatus + "].");

                    Konsool.WriteLine("Vajutage edasi-tagasi endale update või CTRL-C katkestada.");

                    Konsool.ReadLine();

                    thisItemFolder.Item[Kinnitamise olekut""] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsool.WriteLine(MSH + "Lõpetanud selle kausta värskendamine.  Väljumine.");

                } // kasutades SPWeb

            } // kasutades SPSite'i

 Konsool.WriteLine(MSH + "Valmis.");

        } // Esilehele

    } // klassi foldersync
} // nimeruumi
</kood>

</lõpp>

Telli minu blogi.

Jäta vastus

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on tähistatud *