Hitro in enostavno: Get SPFolder SPItemList

Vedno znova naletim na težave in Google nikoli ne zdi, da razumejo, kaj želim storiti, tako mislil, da bi napisali to.

Sem delal veliko dogodkov sprejemnik napak v zadnjem tednu ali dveh. ER je opredeljena proti knjižnico dokumentov. Posamezne elemente v knjižnici dokumentov so tesno povezane z njihove nadrejene mape. Tako, Vedno sem pridobivanje mapo elementa za različne manipulacije. Med iskanjem napak, Sem rabil v modernizirati metapodatkov v mapo za določen predmet katerih ID-ja, vem.

Tukaj je malo uporabi konzole (namenjena strežniku v gruči) to traja dva argumenta: ID elementa in vrednost dodeliti polje, "Stanje odobritve". Težko kod veliko stvari in je brez napake preverjanja.

Šifra poišče mesto nespremenljivo zapisan, dobi nespremenljivo zapisan knjižnice in nato poišče navedeno artikla. Nato ugotovi nadrejene mape te postavke in dodeli vrednost stanja.

Ključno spoznanje tukaj zame je, da SPItem ne dobili dostop do mape. Vi potreba rabiti SPListItem.File.

Če kdorkoli ljubkovati ponujajo kritiko ali boljši način, da dobite mapo element, prosim, pustite komentar.

<zbornik>
z uporabo Sistem;
z uporabo System.Collections.Generic;
z uporabo System.Text;
z uporabo Microsoft.SharePoint;
z uporabo System.Collections;

imenski prostor Conchango
{
    /// <povzetek>
 /// </povzetek>
 razred ManualFolderUpdate
    {
        statična nična Glavni(niz[] args)
        {
            niz MSH = "ManualFolderUpdate (v1.0): "; // MSH = "glava sporočila"

 Konzole.WriteLine(MSH + »Zagon.  Sem zadnje spremembe na 04/08/08.");

            niz URL = http://localhost/xyzzy;

            z uporabo (»SPSite « oSPSite = nove »SPSite «(URL))
            {

                z uporabo (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList.Update() docLib = oSPWeb.Lists["Dokumenti"];

                    Konzole.WriteLine(MSH + "Dobil knjižnico dokumentov.");

                    Konzole.WriteLine(MSH + "Doc lib število elementov: [" + docLib.ItemCount + "].");

                    int ID-ja mape = 0;
                    niz NewStatus = "xyzzy";

                    ID-ja mape = sistem.Pretvori.ToInt32(args[0].ToString());
                    Konzole.WriteLine(»Iskanje mape za element: [" + ID-ja mape + "].");

                    SPListItem Li = docLib.GetItemById(ID-ja mape);

                    »SPFolder « thisItemFolder = li.File.ParentFolder;

                    Konzole.WriteLine(MSH + "Dobil nadrejeno mapo.");

                    NewStatus = args[1].ToString();
                    Konzole.WriteLine("Stanje različice izbrana nastavitev [" + NewStatus + "].");

                    Konzole.WriteLine("Pritisnite vračanja k posodobitev ali CTRL-C za prekinitev.");

                    Konzole.ReadLine();

                    thisItemFolder.Item["Stanje odobritve"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konzole.WriteLine(MSH + "Dokončal posodabljanje mapo.  Izhodu.");

                } // z uporabo SPWeb

            } // z uporabo SPSite

 Konzole.WriteLine(MSH + "Končal.");

        } // Glavni

    } // »foldersync« razreda
} // imenski prostor
</zbornik>

</namen>

Naročite se na moj blog.

Technorati Tags:

pusti odgovor

Vaš e-naslov ne bo objavljen. Obvezna polja so označena *