Aku terus berlari ke dalam masalah ini dan Google sepertinya tidak pernah mengerti apa yang ingin saya lakukan, Jadi saya pikir saya akan menulis ini turun.
Saya telah melakukan banyak acara Penerima debugging di minggu terakhir atau dua. ER didefinisikan terhadap pustaka dokumen. Setiap item dalam dokumen perpustakaan erat terkait dengan folder induk. Jadi, Saya selalu mendapatkan folder item untuk berbagai manipulasi. Sementara debugging, Saya perlu untuk memperbarui metadata folder item spesifik ID saya tahu.
Berikut adalah sedikit aplikasi konsol (dirancang untuk menjalankan pada server di peternakan) yang membutuhkan dua argumen: ID dari item dan nilai untuk menetapkan ke sebuah field, "Persetujuan Status". Sulit kode banyak hal dan memiliki tidak pengecekan error.
Kode terlihat situs kode keras, mendapatkan pustaka dokumen kode keras dan kemudian menemukan item ditunjukkan. Kemudian menemukan folder induk dari barang dan menetapkan nilai status.
Pelajaran kunci di sini bagi saya adalah bahwa SPItem tidak mendapatkan akses ke folder. Anda perlu menggunakan SPListItem.File.
Jika siapa pun yang peduli untuk menawarkan kritik atau menyarankan cara yang lebih baik untuk mendapatkan folder item, Silakan Tinggalkan Komentar.
<Kode>
menggunakan Sistem; menggunakan System.Collections.Generic; menggunakan System.text; menggunakan Microsoft.SharePoint; menggunakan System.Collections; namespace Conchango { /// <Ringkasan> /// </Ringkasan> kelas ManualFolderUpdate { statis Batal Utama(string[] args) { string msh = "ManualFolderUpdate (v1.0): "; // msh = "pesan Header" Konsol.WriteLine(msh + "Memulai. Saya terakhir diubah pada 08/04/08."); string URL = http://localhost/xyzzy; menggunakan (SPSite oSPSite = baru SPSite(URL)) { menggunakan (SPWeb oSPWeb = oSPSite.OpenWeb()) { SPList docLib = oSPWeb.Lists["Dokumen"]; Konsol.WriteLine(msh + "Punya dokumen perpustakaan."); Konsol.WriteLine(msh + "Doc lib item count: [" + docLib.ItemCount + "]."); Int FolderID = 0; string NewStatus = "xyzzy"; FolderID = sistem.Mengkonversi.ToInt32(args[0].ToString()); Konsol.WriteLine("Mencari folder Item: [" + FolderID + "]."); Objek SPListItem Li = docLib.GetItemById(FolderID); SPFolder thisItemFolder = li.File.ParentFolder; Konsol.WriteLine(msh + "Punya folder induk."); NewStatus = args[1].ToString(); Konsol.WriteLine("Pengaturan status untuk [" + NewStatus + "]."); Konsol.WriteLine("Tekan kembali untuk melakukan pembaruan atau CTRL-C untuk membatalkan."); Konsol.ReadLine(); thisItemFolder.Item["Status persetujuan"] = NewStatus; thisItemFolder.Item.Update(); Konsol.WriteLine(msh + "Selesai memperbarui folder. Keluar."); } // menggunakan SPWeb } // menggunakan SPSite Konsol.WriteLine(msh + "Selesai."); } // Utama } // foldersync kelas } // namespace
</Kode>
</akhir>