Kategori Arşivleri: SharePoint geliştirme

Basit bir açıklama: “Değer beklenen aralıkta değil.”

GÜNCELLEŞTİRME: Anonim bir poster iç adları hakkında harika bir yorum yaptı. Bu okuyun..

Olay alıcıları ve SharePoint liste öğelerini nesne modeli aracılığıyla başvuran başka bir kod ile çalışırken, Genellikle, çalışma zamanında bu hata hata yapar:

Yükleme hatası ve olay alıcı Conchango.xyzzyEventReceiver xyzzy içinde çalışan, Sürüm 1. 0 =, Kültür tarafsız =, PublicKeyToken = 0dc50a750396c3ac. Ek bilgiler aşağıda.. : Değer beklenen aralıkta değil.

Bu potansiyel olarak birçok farklı yolu neden olduğu oldukça genel bir hata olduğunu düşünüyorum. Ancak, bir alanı hatalı olarak başvuran basit bir açıklama olduğunu. Alan adı "Son tarih" ise, Böyle bir olay alıcı başvurmalıdır:

özellikleri.ListItem["Son tarih"]

Ne zaman hata hatalı veya yanlış durum alanı başvururken kullanmak, SharePoint oluşturur yukarıda belirtilen çalışma zamanı hatası. Örneğin, Bu yanlış bir şey:

özellikleri.ListItem["son tarih"]

</sonunda>

Benim blog abone.

Technorati Tags:

Hızlı & Kolay: Klasör oluşturma ve içerik türü atayın (Veya, Senin KPI'ları var ve onları çok yemek)

Bir KPI sorunu çözmek amacıyla Ben burada yazdı, Ben bazı testler yaptı ve bu KPI'ın çalışma klasörlerindeki meta verilerle Vesaik mukabili çalışmak veya liste öğelerini aynı şekilde keşfetti. O dışarı yeni bir içerik türü oluşturarak klasör içerik türünü temel alan ve birkaç alanları eklendi oldu. Bazı göstergeler oluşturulan ve APG beklendiği gibi çalışmaya devam kendimi kanıtladım. Bu hoş geldiniz haber oldu. Mükemmel değil, ayrıntıya inme sen almak--dan çünkü ne istediğiniz KPI klasörlerindeki tam olarak değil.. Bu çok fazla bir dezavantajı benim durumumda değil, çünkü 1) son kullanıcılar daha iyi bilmiyorum ve 2) ayrıntıya inme bir klasöre gider. Klasör adını tıklatın ve onlar madde. Bir yerine iki tıklama 's, Bu dünyanın sonu değil mi.

Bu güzel ben yapıyordum çalışma ile akan. Karşıya her belge için bir klasör oluşturma am. Bu bir olay alıcı yolu ile yapılır. Sonuç olarak, bir dilim pasta tutmak için olduğunu Ana klasörün meta verilerle senkronize KPI temelli meta veri dosyasından kendisi zaten yerde olduğu için su tesisatı. This allows me to have my KPI’s and eat them too 🙂

Ben klasör eklemek ve benim özel KPI dostu içerik türü için bu yeni klasörün içerik türünü belirlemek için olay alıcı olarak. Bu boyutta bir kod did belgili tanımlık hüner:

 SPFolderCollection srcFolders targetWeb.GetFolder =("Belgeler").Alt klasörler;
  SPFolder addedFolder srcFolders.Add =(özellikleri.ListItem.ID.ToString());
  SPContentTypeId kpiCT = Yeni SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item[İçerik türü kimliği""] kpiCT =;
  addedFolder.Item.Update();

Gerçek içerik türü kimliği bulmak için, Bu içerik türünü sitesi ayarları aracılığıyla erişilen ve kopya yapıştırılan/Bu URL'den gösterildiği gibi:

görüntü

</sonunda>

Benim blog abone!

Technorati Tags: ,

Hızlı ve kolay: Bir olay alıcıyı bir SPListItem SPFolder olsun

İtiraf etmekten nefret ediyorum., Ama bu bir ile tüm mücadele günü. Benim olay alıcısının kendi üst klasörünün bir alanı güncelleştirmek gerekir. Bu biraz nasıl yapılacağını gösterir:

Özel geçersiz UpdateParentFolder(SPItemEventProperties Özellikler)
{

SPFolder thisItemFolder = özellikleri.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ onay durumu"] = "İyi haber, Herkes!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

Bu durumda, Belge kitaplığı ile çalışıyorum ve özelliklerini ItemAdded olay geliyor.

Öğenin kendisi doğrudan madde SPFolder alamıyorum hilesidir (Yani. özellikleri.ListItem.Folder null). Bunun yerine, liste öğesinin ilişkilendirilmiş dosyasına gidin ve dosya klasörü.

</sonunda>

Benim blog abone!

Technorati Tags:

Henüz başka bir olay alıcı hüner ayıklamak

Eminim bu ile gelip ilk kişi ben değilim. Ancak, I sığınak'duyuru kimse geçen Temmuz topluma yakından ilgilenerek başladığından beri böyle bir numara yayımlamak. Yani, Bu hızlı ve kolay hata ayıklama ipucu bu post düşündüm..

Bu hata üretmek için başlatılan bir olay alıcı üzerinde çalışıyorum. 12 kovan:

Yükleme hatası ve olay alıcı Conchango.xyzzyEventReceiver xyzzy içinde çalışan, Sürüm 1. 0 =, Kültür tarafsız =, PublicKeyToken = blahbalhbalh. Ek bilgiler aşağıda.. : Nesne başvurusu bir nesnenin örneğine ayarlanmadı.

Nerede benim kodu/dağıtmak/test döngüleri birinde çok fazla şey yapmıştı çünkü bu hata tanıttı bilmiyordum.

Ben denedim Bu çözüm Bu SharePoint'ın umutları ile orada benim pdb almak için 12 yığın yığın izlemesini gösterecek, ama hayır şans. Bilmiyorum eğer mümkünse ve eğer birisi yok, Lütfen bana bildirin 🙂

Mümkün olduğunu biliyorum kendi günlük iletileri yazma 12 kovan. Açıkçası, Biraz daha az korkutucu ve uygulamak daha hızlı bir şey istedim.

Ben en azından yakalamak ve bunun gibi genel özel durumlar yeniden atma tarafından bazı temel izleme bilgilerini alabilir aklıma:

  deneyin {
    UpdateEditionDate(Özellikler);
  }
  yakalamak (Özel durum e)
  {
    atmak Yeni Özel durum("Dağıtıcı, UpdateEditionDate(): Özel durum: [" + e.ToString() + "].");
  }

Bu geldi 12 Thusly kovan:

Yükleme hatası ve olay alıcı Conchango.xyzzyEventReceiver xyzzy içinde çalışan, Sürüm 1. 0 =, Kültür tarafsız =, PublicKeyToken = blahblahblah. Ek bilgiler aşağıda.. : Dağıtıcı, UpdateEditionDate(): Özel durum: [System.NullReferenceException: Nesne başvurusu bir nesnenin örneğine ayarlanmadı. Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties özellikleri) Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties özellikleri, Dize eventDescription)].

Beni bu özel problem izlemek için gerekli tüm ayrıntı verdi ve çok ileri giderek kullanmak bekliyoruz..

</sonunda>

Benim blog abone!

Çözüm: SPQuery klasörleri aramaz

Geçen hafta uygulama bir "gelişen" BDC ve SPQuery kullanan ve SPQuery klasörleri içeren bir belge kitaplığı karşı kullanarak bazı zorluk rastladım bir istemci için çözüm. Alt çizgi: "özyinelemeli atamak" sorgu görünümü öznitelik için.

Benim senaryo:

  • Pazartesi günü, Bir belgeyi karşıya yüklemek ve bazı meta veri sağlamak.
  • Sonraki hafta, Yeni bir belgeyi karşıya yüklemek. Bu yeni belgenin meta veri çoğunu ben Pazartesi günü Tarih belge dayanır ("ana belge" dediğimiz).
  • Listeye bir BDC dostu arayüzü sağlar, böylece kullanıcıların kolayca Pazartesi belge başlık arama yoluyla bulabilirsiniz web hizmeti ön cephesi oluşturduk.
  • İVB veri sütun kolay bir kullanıcı arabirimi sağlar. (BDC daha dostça arama sütunu için kullanmak benim girişimi bir parçası).

Final BDC cephe hizmeti, arama yapmak için böyle bir sorgu kullanır.:

 // U2U aracı bu CAML sorgu oluşturmak için yardımcı olmak için kullanılır..
      oQuery.Query =
        "<Burada>";

      Eğer (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Ve>";

      oQuery.Query  =
        "    <Ve>" +
        "      <GEQ>" +
        "        <FieldRef adı =  "DocumentId" />" +
        "        <Değer türü =  "Text">" + minId + "</Değer>" +
        "      </GEQ>" +
        "      <LEQ>" +
        "        <FieldRef adı =  "DocumentId" />" +
        "        <Değer türü =  "Text">" + maxId + "</Değer>" +
        "      </LEQ>" +
        "    </Ve>";

      Eğer (titleFilter.Length > 0)
        oQuery.Query  =
          "    <İçerir>" +
          "      <FieldRef adı =  "Title" />" +
          "      <Değer türü =  "Text">" + titleFilter + "</Değer>" +
          "    </İçerir>" +
          "  </Ve>";
      oQuery.Query  =
        "</Burada>";

Geliştirme başlangıç aşamasında, Bu amele büyük. Ancak, Biz bazı sorunları çözmek için dizine klasörleri tanıttı ve aniden, benim BDC seçici herhangi bir sonuç olmaz. Bu SPQuery hiç birisi-den sonuçlanmak dönmek aslında aşağı izlenen. Biz kullanılan klasörleri öncelikle birden fazla dosya yüklemek için aynı adda ama farklı meta veri ile izin vermek için. Dosya yüklendiğinde, liste öğesinin kimliği temel alarak bir klasör oluşturun ve dosyayı oraya taşıyın (Ben bu konuda yazdı Burada; Biz oldu karışık sonuçlar Ama bütün bu yaklaşım ile, iyi çalışıyor). Kullanıcı klasörleri hakkında ve hatta önemli değil, Gerçekten herhangi bir klasör vardır anlamıyorum. Biz-si olmak configured tüm görünümlerde kitaplığındaki öğeleri klasör olmadan görüntüle.

Bu sorun iki kat gelişti ve Çözülen teknik uygulama farklı her zaman isabet. İlk defa, Sorguda içerir işlecini kullanarak değildi. CONTAINS işleci olmadan, SPQuery'nın contructor ilgili görüntüyü belirterek sorunu çözmek mümkün. Varsayılan kurucuyu kullanarak yerine:

SPList.Update() oListe web =.Listeler["Belgeler"];

SPQuery oQuery = Yeni SPQuery();

Bunun yerine bir görünüm belirtilen bir Oluşturucu kullanılır.:

SPList.Update() oListe web =.Listeler["Belgeler"];

SPQuery oQuery = Yeni SPQuery(oList.Views["Tüm belgeler"]);

Bu sorun çözüldü ve sonuçlarımı almaya başladı..

Daha sonra karışımı içine içerir işlecini eklendi ve gene kırdı. CONTAINS işlecini meğer, söyleyebileceğim kadarıyla, görünümü ile aynı şekilde çalışmaz daha basit GEQ / LEQ operatörleri. Bazı arama yaptım ve sorgunun ViewAttributes "Özyinelemeli" belirlemesi gerektiğini öğrenmiş, olarak:

oQuery.ViewAttributes = "Kapsam = "Recursive"";

Bu münhal belgili tanımlık problem için içerir. Aslında, Bu da benim orijinal arama sorun çözüldü ve özyinelemeli belirtilen vardı ilk öznitelik, Ben sorunu içine tekrar çalışır değil.

Bazı operatörler için görünüm tabanlı SPQuery inşaat gerçeği (GEQ/LEQ) diğerleri değil (İÇERİR), KPI tüm içeren klasör belge kitaplıkları yol ile SPQuery bazı dikeylilik sorunları vardır inanmamı çalışma görünmüyor gerçeği ile birleştiğinde.

Özel teşekkür:

  • İyi millet U2U ve onların sorgu aracı.
  • Michael Hoffer büyük "yaparak öğrenme" blog yazısı, Yorumlar ve yanıtları.

</sonunda>

Benim blog abone!

moss KPI hata? Belge kitaplığı klasörleri bağlı liste göstergesi

GÜNCELLEŞTİRME 02/29/08: Klasör oluşturma ve APG için gereken meta verileri olan klasör için bir içerik türü atayarak bu sorunu çözmüş. Ben, biraz daha ayrıntılı olarak burada açıklanan.

Biz-si olmak alet nerede kullanıcılar belge kitaplığına belge yüklemek teknik bir çözüm. Bir olay alıcıyı bir dizin oluşturur ve dosyayı bu dizine taşır (ne hakkında yazdığım için benzer teknikle Burada). Biz başarıyla yüklenen dosyaları yeniden adlandırmak olay alıcıları tarafından neden olduğu potansiyel sorunları etrafında navigasyon (Çünkü çoğunlukla kullanıcılar kendi belge "yeni [NULL]'i tıklatarak başlatmak asla" ama bunun yerine yerel olarak belgeler oluşturun ve sonra yükleyin).

Evet bu belgeler için meta verileri içeren/hiçbir site sütunu "acil olarak" ve başka bir site sütunu "Durum" olarak adlandırılan. "Acil yüzdesini gösterir bir iş gereksinimi karşılaması gerekir" Belge durumu "Beklemede".

Bu genellikle yapmak kolaydır ve ben çok böyle bir şey, SharePoint Beagle Eğer ekran görüntüleri çok.

Özetle, Birini yaptım.:

  • "Beklemede" olarak adlandırılan belge kitaplığı görünüm oluşturma.
  • Görünümün klasör yapısı yok saymak için yapılandırma.
  • KPI listesi oluşturma.
  • Doktor lib ve bu listede bir göstergesi "bekleyen oluşturma" Görünüm.

Bu sadece çalışmıyor. Benim hedef KPI gösterir (e.g. beş acil belgeleri) Ama her zaman acil belgelerin sayısını sıfır olarak görüntüler. Paradoksal olarak, Eğer ayrıntıları matkap, listede beş acil belgeleri gösterir. İki belge ile çok basit bir senaryo hazırlandı, bir klasör ve bir değil. İşte ekran görüntüsü:

görüntü

Yukarıdaki ekran resminde açıkça iki belge görünümü ama "değerini gösterir" biri. "CamlSchema" boş belge kimliği kök klasöründe ve diğer "84" adında bir klasöre.

Düz-se bile bir görünüm belirttiğiniz o bana görünen, KPI "göstermek tüm öğeleri klasörler onur yok" ayarlama ve yerine, kendisi kök klasöre gerçekleşmesini.

Eğer ı 'm wrong, Lütfen bana yazmaktan veya yorum.

</sonunda>

Benim blog abone!

Technorati Tags:

Sorunun çözümü: “FileNotFoundException” Benim özellik alıcısı ile.

Bazı olay alıcıları belirli liste örneğine eklemek istiyorum bir özellik geçen hafta üzerinde çalışıyordu. (Ben biraz bu liste alıcı hakkında blogged).

Komut satırını kullanarak, I-ebil install özelliği ile herhangi bir hata (Ama gizli hata için aşağıya bakın). Ne zaman özelliği site dağıtmak için çalıştı, MOSS "FileNotFoundException şikayet etti." hata. Nasıl o münhal bu blog girişi açıklar.

Bu yosun gösterdi bana web tarayıcısında hatanın olduğunu:

Özellik ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ Çünkü yüklü değil olay alıcısı derlemesi "xyzzyFeatureReceiver_0 yükleme" başarısız oldu: System.IO.FileNotFoundException: Dosya veya derleme yüklenemedi ' xyzzyFeatureReceiver_0’ ya da bağımlılıklarından biri. Sistem belirtilen dosyayı bulamıyor.
Dosya adı: ' xyzzyFeatureReceiver_0’
System.Reflection.Assembly.nLoad(AssemblyName dosya adı, Dize kod tabanı, Kanıt assemblySecurity, Meclis locationHint, StackCrawlMark& stackMark, Boole throwOnFileNotFound, Boole forIntrospection)
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Kanıt assemblySecurity, StackCrawlMark& stackMark, Boole forIntrospection)
System.Reflection.Assembly.InternalLoad(Dize assemblyString, Kanıt assemblySecurity, StackCrawlMark& stackMark, Boole forIntrospection)
System.Reflection.Assembly.Load(Dize assemblyString)
Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
UYR: Derleme bağlama günlüğü açık kapalı.
Derleme bağlama hatası günlük kaydını etkinleştirmek için, kayıt defteri değerini ayarla [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) Hedef 1.
Not: Derleme bağlama hatası günlük ile ilişkili bazı performans ceza.
Bu özelliği devre dışı bırakmak için, kayıt defteri değerini kaldırın [HKLMSoftwareMicrosoftFusion!EnableLog].

Windows SharePoint Services ile ilgili sorunları giderme.

Kasıtlı olarak bu hata neden bilmek.: derlemenin GAC'de yüklemeyin. Ama, GAC içerisinde yapıldı. Ben normalde GAC c sürükleyerek derlemelerinin:\windowsassembly klasörü Windows Gezgini'ni kullanarak. Hiç bir şey hissetmedim 100% Çünkü her zaman o gacutil rahat yapıyor bir sebebi var … çok denedim. Bu hiçbir fark yarattı.

Aramak belgili tanımlık enterne ve kurmak bu posta: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Poster aynı kök bit kod kullanmaya oldu. (Bu listeden WSS içindeki defterinden) Yani o umut dolu bir işaretti. Ancak, derleme ile dekorasyon önerisi bir [derleme: ] yönergesi bana mantıklı gelmiyordu. Yine de denedim ve ben haklıydım. Bu hiçbir fark yarattı.

O zaman benim sınıf tanımının genel değildi fark. Ben kamuoyuna ve bu fark etti.

Sonraki, "Derleme bağlama hatası günlük etkinleştirme zahmetine girdim" (yararlı ve doğru yönergeleri izleyerek sağlanan) ve şeyler ilginç almaya başladığı yer. Bu günlük çalışma zamanı bu sunucudaki benim derleme için her yerde arıyor gösterir. Hatta bunun için benim ecza dolabında arama görünüyor. Ama … Bu GAC'de aramak olmayacak.

Ben benim kış ceket koymak ve Internets yeniden aramayı gidin ve birileri de bu sorunu olmuştur bulmak. Hiçbir şey bu nakil uzun tartışmada peters ve ı cant'bulmak a eriyik.

Onu arıyor ve ben biraz daha fazla ilerleme günlük iddia yerlerden biri benim derleme taşımak. Özelliği etkinleştirmeye çalıştığınızda tarayıcıda yeni bir hata ile ödüllendirilir:

"XyzzyFeatureReceiver_0" derlemesinden özelliği alıcı nesnesi oluşturulamadı, "Conchango.xyzzyFeatureReceiver yazın" özelliği b2cb42e3-4f0a-4380-aaba-1ef9cd526f20 için: System.ArgumentNullException: Değer null olamaz.
Parametre adı: türü
System.Activator.CreateInstance(Türü türü, Boole nonPublic)
System.Activator.CreateInstance(Türü türü)
Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Windows SharePoint Services ile ilgili sorunları giderme.

Bir son yolculuk için Internets için zaman!

Bu sefer ben bulmak, tahmin edilebileceği gibi yeterince, derlemenin GAC'de olmadığından MOSS bu hata sorunları.

Bundan olumlu bir şeyler ve ben oluşturduk biraz gurur hissetmeye denemek istiyorum. Kaçak MSIL derlemeleri, Ama onun'değil çalışma. Sadece düz rahatsız değilim. Kendimi "tavuk veya yumurta mırıldanıp bulmak" Nefesimi altında.

Sonunda kumar oynamak karar. Ben tamamen yeni bir proje oluşturmak ve bu yeni proje için incredible-cloaked-from-the-GAC-assembly çalışma dışı proje üzerinde koddan Kopyala/Yapıştır. (Derleme GAC'de yüklü değilse bağlama dan gizle"gibi bir şey olarak adlandırılan bir yapı bayrak için bak" Ama aradım ama).

Özelliği yüklemek ve etkinleştirmek ve … o inşaat! Yani, Bundan sonra, Temelde gerekiyordu ' yeniden doğmuş gibi’ benim proje. Bir başka neden niçin bilgisayarlardan nefret bu.

Bu işe yarar bir şey öğrendin. Gün boyu stsadm komut satırını kullanarak özelliklerini yükleme ve be istimal "-kuvvet" alışkanlıktan seçeneği. İçin biraz neden, Ben kullanmadım yeni proje yüklendiğinde - zorlama seçeneği. Bu sefer, Aslında yaptım, gerçekten unutmak-e doğru bu yeni projenin derleme GAC içine kopyalayın. Sonuç olarak, FielNotFoundException"aldı." hata. Bu sefer, Stsadm aldım, web tarayıcısı üzerinden özelliğini etkinleştirmek çalışırken değil. Yani, -kuvvet aslında iki rol oynar. Varolan bir özelliği yeniden yüklemenize olanak tanır. Ayrıca çalışma zamanında hata baskılayarak çalışamaz bir adamcağız özelliğini yüklemek verir. Muhtemelen olduğu kadar bir yere Yardım'diyor ama ben hiç fark.

</sonunda>

Hızlı & Kolay: Bir olay alıcı yolu ile SharePoint nesne modelini kullanarak yüklenen dosya yeniden adlandırma

GÜNCELLEŞTİRME: Bu eser ama yorum olarak açıklanan önemli sınırlamalar vardır. Bu hala bazı cirumstances yararlı olabilir.

GÜNCELLEŞTİRME 2: Benim geçerli projede, Kullanıcılar her zaman belgeyi karşıya yükle. Sonuç olarak, Nerede MS Word çalıştıran ve dosya üzerinde adlandırıldı düşünüyor bir sorun haline çalıştırın yok. Bir sorun haline koştun, "dosya başka biri tarafından değiştirilmiş" ve bu bir basit semafor tür bayrak ile çözüldü. Meta veri alanı varsayılan değeri başka bir şey değiştirmek kullanıcı lüzum. İtemupdated() Aslında yeniden adlandırma işlemini gerçekleştirmeden önce ve o zamandan beri orada için geçerli bir değer alıcı görünüyor, Ben herhangi bir sorun olmadı. Sizin kilometre değişebilir.

Belirli bir adlandırma kuralı ile uymak için belirli belge kitaplığına yüklenen dosyaların adını değiştirmek için istemci şartı var. API does değil sağlamak bir "yeniden adlandırma()" yöntemi. Bunun yerine, Biz kullanın "MoveTo(…)". İşte bunun için kod en az bir bit:

 Genel geçersiz kılma geçersiz ItemAdded(SPItemEventProperties Özellikler)
        {
            SPFile f = özellikleri.ListItem.File;

            f.MoveTo(özellikleri.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Sadece hileli parça olduğunu "özellikleri. ListItem.ParentList.RootFolder.Url". MoveTo() yöntem bir URL gerektirir. Bu dize Puan bana benim geçerli belge kitaplığı kök klasöre püresi. Bu benim olay alıcı herhangi bir sabit kodlama önlemek sağlar.

Bu yaptığını bir daha yararlı bir sürümüdür, Ama dosya adı "Title" atar:

 Genel geçersiz kılma geçersiz ItemAdded(SPItemEventProperties Özellikler)
        {
            DisableEventFiring();

            // Bu madde başlığı dosyanın kendi adını atayın.
 // NOT: Bu atama dosyasının kendisini değiştirmeden önce yer almalıdır.
 // Güncelleme calling() SPFile özelliklerinde geçersiz görünüyor
 // Biraz mantıklı.  "Başlığı ile ilgili güncellemeleri" Bunu değiştirene kadar başarısız oldu (ve güncelleştirme() çağrı)
 // dosya adını değiştir taşındı.
            özellikleri.ListItem["Başlığı"] = özellikleri.ListItem.File.Name;

            özellikleri.ListItem.Update();

            SPFile f = özellikleri.ListItem.File;

            // Dosya uzantısı olsun.  Daha sonra ihtiyacımız.
 dize spfileExt = Yeni FileInfo(f.Name).Uzantısı;

            // Liste öğesinin kimliği için dosyayı yeniden adlandırın ve dosya uzantısı tutmak için kullanabilirsiniz.
 // Bunun bir parçası olduğu gibi.
            f.MoveTo(özellikleri.ListItem.ParentList.RootFolder.Url +
                "/" + özellikleri.ListItem["KİMLİĞİ"] + spfileExt);

            // Hareket tamamlama.
            f.Update();

            EnableEventFiring();
        }

Çabuk uç: İçerik Sorgusu Web Bölümü, Arama sütunu değeri ve xsl

I-si olmak bir sütun adı "Gayrimenkul yer" adlı bir içerik türü.

Bu sütun türüdür "arama".

Ben değişiklik <CommonViewFields> ve sütunu görüntülemek için ItemStyle.xsl.

Basit bir <XSL:değer-seçin =…> sıralı veri içeren dahili bir değer geri döndürür, gibi:

1;#Miami

İnsan dostu faydalanabilmek için, XSL alt dizeden sonra kullanın, görüldüğü gibi:

<XSL:değer-seçin "alt-sonra =(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:value-of>

xsl dönüşümleri arama değerleriyle çalışma ve insan dostu değerini almak için bu tekniği kullanın..

<sonunda />

Technorati Tags: , ,

Hızlı ve kolay: Site sütunu iç sütun adını belirlemek

GÜNCELLEŞTİRME: Jeremy Thake Bu blogged vardır ve bazı kadar koymak bir konsol uygulaması için kod Bu iç adlarını gösterir..

Bir görev son tarihi görüntülemek için bir içerik sorgusu web bölümünü almaya çalışıyordum ve çünkü ekran etiket "Son tarih", Bu kabul olarak kullanılacak sütun adı <CommonViewFields> "Due_x0020_Date" olduğunu.

Yanlış!

Bu durumda gerçek sütun adı "DueDate" yapıldı..

Nasıl buldun mu? Heather yeniden okumak Süleyman'ın blog girişi CQWP değiştirme veri ek sütunları göstermek için. Bu süreç adımda açıklar #13. Güven. Doğru olduğundan. En azından, Benim için doğru. Bu çok daha uzun bir ad olan başka bir sütun için ilk başta güvendim ki değil.

"Güven demek." Bu güven değil ve muhtemelen boşa Çünkü iki saat kafamın bir duvara sınır yakınındaki. Sonra "DueDate çözüldü" adı, Başka bir alana eklemek istedim. <CommonViewFields>. Solomon tekniği kullanarak, "XYZ_x0020_Project_x0020_Due_x00" gibi bir sütun adı başlamıştı..

Kendi kendime düşündüm, Bu açıkça kesilmiş bir isimdir. I went önde ve un kesilmiş hiçbir başarı ile. Son olarak görünüşte kesilen adıyla kullanılan ve o amele.

Bonus ipucu: Ne zaman CQWP ile çalışma yapıldı., Eğer kötü bir iç isim ekledi <CommonViewFields>, CQWP sorgu sonuç verdiğini söylerdin. Ama, Ben önce Eğer bir veri türü alan adı, bir sonuca dönmek. Non-peyda alan referans oldu bu yana verileri ekleme türü aslında bir sorun maskeli. Bu ekleyebilirsiniz, Ama ne zaman ı güvenilir-değerini görüntülemek için, Ben her zaman boş bir alacağı.

Bu hatayı maskesi değil:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Bu hatayı maske:

<CommonViewFields>Due_x0020_Date,Tarih/Saat;</CommonViewfields>

</sonunda>