Category Archives: SharePoint-fejlesztési

Egyszerű magyarázat: “Érték nem esik a várt tartományon belül.”

FRISSÍTÉS: Egy névtelen poszter maradt egy nagy megjegyzést belső nevek. Győződjön meg róla, hogy elolvassa.

Amikor a dolgozó eseményfogadók és más SharePoint-listaelemek objektummodellen keresztüli hivatkozó kód, Gyakran, hogy amit létrehoz ez a hiba, futásidejű hibák:

Betöltési hiba, és fut Conchango.xyzzyEventReceiver eseményérzékelő xyzzy, Változat = 1.0.0.0, Culture = neutral, PublicKeyToken = 0dc50a750396c3ac. További információ az alábbi. : Érték nem esik a várt tartományon belül.

Azt hiszem, ez egy meglehetősen általános hiba, potenciálisan okozott sok különböző módon. Azonban, egyik egyszerű magyarázat az, hogy rosszul vagyok viszonyítási mező. Ha a mező neve "Lejáró időpont", Kell hivatkoznia, mint ez az egy eseményérzékelő:

tulajdonságok.Listaelem["Esedékesség"]

Ha hibásan, vagy használja a rossz helyzet, amikor a viszonyítási mező, SharePoint generál a fent említett futásidejű hiba. Például, Ez a baj:

tulajdonságok.Listaelem["esedékesség"]

</vége>

Subscribe to my blog.

Technorati Tags:

Gyors & Könnyű: Hozzon létre egy mappát és egy tartalomtípus hozzárendelése (Vagy, Van a KPI-ket, és enni őket túl)

Annak érdekében, hogy a KPI-probléma Írtam itt, Teszteltem, és rájött hogy KPI munka ellen tartók-val meta-adatok, ugyanúgy, hogy dolgozik ellen dokumentumok vagy listaelemek. Bizonyult, ki létrehozásával egy új tartalomtípust a mappa tartalomtípuson alapul, és majd hozzá néhány mezők. Készítette: egyes mutatók, és bebizonyította, hogy magam, hogy a KPI-ket a várt módon működnek. Ez volt a hír. Még mindig nem tökéletes, mert a leásási kap a KPI-t, a mappákon nem pontosan az, amit akarsz. Ez nem túl sok hátránya, az én esetemben, mert 1) a végfelhasználók számára nem tud jobbat, és 2) a leásási goes-hoz egy dosszié. Kattintson a mappa neve, és a cikk:. -A ' egy helyett két kattintással, ami nem a világ vége.

Ez szépen folyt a munka, én csináltam. Vagyok létre egy mappát a minden dokumentum lesz feltöltve. Ez befejeződött keresztül az eseményérzékelő. Ennek eredményeként, -a ' egy bábu-ból süti, hogy tartsa a szülő dosszié meta adatok szinkronban a KPI-vezérelt meta-adatok a fájlból, maga is, mivel a vízvezeték már a helyén van. This allows me to have my KPI’s and eat them too 🙂

Az esemény telefonkagyló-hoz összead a dosszié, és állítsuk be az új mappa tartalomtípusú egyéni KPI-barát tartalomtípus módosítása. Ez a kis kód tett a fogás:

 SPFolderCollection srcFolders = targetWeb.GetFolder("A dokumentumok").Almappák;
  SPFolder addedFolder = srcFolders.Add(tulajdonságok.ListItem.ID.ToString());
  SPContentTypeId kpiCT = új SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Tartalom azonosítója"] kpiCT =;
  addedFolder.Item.Update();

Keresse meg a tényleges tartalom azonosítója, Tartalomtípus beállításai oldalon keresztül érhető el, és másol/tészta a URL mint mutatott:

kép

</vége>

Subscribe to my blog!

Gyors és egyszerű: Az SPFolder SPListItem kap egy eseményérzékelő

Utálom, hogy bevallja, de küzdöttem ezzel egy minden nap. Az eseményérzékelő kell a szülőmappa mező frissítése. Ez kicsit azt mutatja, hogyan kell csinálni:

privát Érvénytelen UpdateParentFolder(SPItemEventProperties Tulajdonságok)
{

SPFolder thisItemFolder = tulajdonságok.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ jóváhagyási állapot"] = "Jó hír, mindenki!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

Ebben az esetben, Dolgozom egy dokumentumtár, és a tulajdonságok érkezik egy ItemAdded esemény.

A trükk az, hogy nem kap az SPFolder az elem közvetlenül a cikkre (i.e. tulajdonságok.ListItem.Folder értéke null). Ehelyett, a listaelemhez társított fájl menni és kap a reszelő dosszié.

</vége>

Subscribe to my blog!

Technorati Tags:

Még egy másik eseményérzékelő Debug fogás

Biztos vagyok benne, én nem vagyok az első, aki elér ez. Azonban, Én nem vettem észre valaki közzétesz egy trükk, mint ez, mióta elkezdtem, nagy figyelmet fordított a Közösség tavaly júliusban. Így, Gondoltam, hogy feladjuk ezt a gyors és egyszerű hibakeresés-tipp.

Én dolgozom egy eseményérzékelő, hogy ezt a hibát a 12 kaptár:

Betöltési hiba, és fut Conchango.xyzzyEventReceiver eseményérzékelő xyzzy, Változat = 1.0.0.0, Culture = neutral, PublicKeyToken = blahbalhbalh. További információ az alábbi. : Tárgy ajánlás nem készlet-hoz egy objektum egy példányát.

Nem tudom, hol már bevezette ezt a hibát, mert nem volt túl sok dolgot, az egyik az én-m kód/telepítését/vizsgálati ciklus.

Próbáltam Ez a megoldás ahhoz, hogy az előzetes költségvetés-tervezetben ott reméli, hogy SharePoint 12 Méhkas azt mutatják, a verem-nyomkövetési, de nem szerencse. Nem tudom, ha ez lehetséges, és ha valaki nem, legyen szíves hadd tudjam meg 🙂

Tudom, hogy lehetséges, hogy a saját napló üzeneteket írni a 12 kaptár. Őszintén szólva, Szerettem volna valami egy kicsit kevésbé ijesztő, és gyorsabb végrehajtása érdekében.

Eszembe jutott, hogy legalább tudna kap néhány alapvető nyomkövetési adatok fogása, és újra dob általános kivételek, mint ez:

  próbálja meg {
    UpdateEditionDate(Tulajdonságok);
  }
  fogási (Kivétel e)
  {
    dobja új Kivétel("Diszpécser, UpdateEditionDate(): Kivétel: [" + e.ToString() + "].");
  }

Ez zápor megjelöl-ban a 12 imigyen a struktúra:

Betöltési hiba, és fut Conchango.xyzzyEventReceiver eseményérzékelő xyzzy, Változat = 1.0.0.0, Culture = neutral, PublicKeyToken = Tina. További információ az alábbi. : Diszpécser, UpdateEditionDate(): Kivétel: [NullReferenceException.: Tárgy ajánlás nem készlet-hoz egy objektum egy példányát. a Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties tulajdonságai) a Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties tulajdonságai, Karakterlánc-eventDescription)].

Hogy adott nekem a részleteket, én szükséges-hoz Nyom legyőz amit különös probléma, és azt várom, hogy használja azt nagyon megy előre.

</vége>

Subscribe to my blog!

Megoldás: SPQuery nem keresési mappák

Ez a múlt héten végrehajtási egy "fejlődő" megoldás az ügyfelek, amelyek a BDC és SPQuery használ, és futott néhány nehézség használ SPQuery ellen egy dokumentumtárat tartalmazó mappák. Alsó sorban: "rekurzív hozzárendelése" a lekérdezés nézet attribútum.

Az én-m forgatókönyv:

  • Hétfőn, Dokumentum feltöltése, és néhány meta-adatokat.
  • A következő héten, Feltölteni egy új dokumentumot. Az új dokumentum meta-adatok alapja a dokumentumon, feltöltött, hétfőn (ahogy mi hívjuk a "dokumentum").
  • Készítettünk egy webes szolgáltatás homlokzat illesztőfelületet biztosító BDC-barát a listát úgy, hogy a felhasználók könnyen elhelyez hétfőn dokumentum keresztül a cím keresés.
  • Az üzleti Adatkatalógus adatoszlop kínál egy barátságos felhasználói felület. (Ez a része az én-m kísérlet az üzleti Adatkatalógus segítségével több barátságos keresőoszlop).

A végső homlokzat adatkatalógusa lekérdezéssel mint ez csinál a keresést:

 // Használt U2U szerszám-hoz támogat a CAML-lekérdezés létrehozásában.
      oQuery.Query =
        "<Ahol>";

      Ha (titleFilter.Length > 0)
        oQuery.Query  = (egyenlőségjel)
          "  <És>";

      oQuery.Query  = (egyenlőségjel)
        "    <És>" +
        "      <Geq>" +
        "        <A FieldRef név =  "DocumentId" />" +
        "        <Típusú érték =  "Text">" + minId + "</Érték>" +
        "      </Geq>" +
        "      <LEQ>" +
        "        <A FieldRef név =  "DocumentId" />" +
        "        <Típusú érték =  "Text">" + maxId + "</Érték>" +
        "      </LEQ>" +
        "    </És>";

      Ha (titleFilter.Length > 0)
        oQuery.Query  = (egyenlőségjel)
          "    <Tartalmaz>" +
          "      <A FieldRef név =  "Title" />" +
          "      <Típusú érték =  "Text">" + titleFilter + "</Érték>" +
          "    </Tartalmaz>" +
          "  </És>";
      oQuery.Query  = (egyenlőségjel)
        "</Ahol>";

A fejlesztés kezdeti szakaszában, Ez munkás nagy. Azonban, mappák be a könyvtár, néhány a problémák megoldására, és hirtelen, az üzleti Adatkatalógus picker nem ad vissza eredményt. Én nyomozó személy ez arra, hogy a SPQuery soha nem térhet vissza a eredmények. Általunk használt mappák elsősorban, hogy több fájlt feltölteni az azonos nevű, de különböző meta-adatok. A fájl feltöltésekor, hozzon létre egy mappát, a listaelem-azonosító alapján, és ott helyezze át a fájlt (Írtam arról, hogy itt; már volt vegyes eredmények Ezzel a megközelítéssel, hanem az egész, Ez jól működik). A felhasználó mappákat, és valójában nem érdekel., nem igazán értem, hogy vannak akármi tartók. A kilátás a könyvtár elemek megjelenítése mappák nélkül van beállítva.

Nyomja meg kétszer, mint a technikai megvalósítás alakult ki, és megoldotta azt másképp minden alkalommal, amikor a probléma. Az első alkalommal, Nem használ tartalmaz szereplő-a lekérdezésben. TARTALMAZ kezelő nélküli, Voltam képes megoldani a problémát a véleménye a SPQuery contructor megadásával. Az alapértelmezett konstruktor használata helyett:

Meg az SPList.Update() oList = webes.Listák["A dokumentumok"];

SPQuery oQuery = új SPQuery();

Ehelyett használtam a kivitelező, hogy megadott nézet:

Meg az SPList.Update() oList = webes.Listák["A dokumentumok"];

SPQuery oQuery = új SPQuery(oList.Views["Valamennyi dokumentumhoz"]);

Ez megoldotta a problémát, és én kezdett-hoz kap az én-m eredmények.

Majd hozzá tartalmaz szereplő, a keverékhez, és eltörte újra. Kiderül, hogy az tartalmaz-üzemeltető, amennyire tudok mondani, nem működik a néző ugyanúgy, mint az egyszerűbb GEQ / Szereplők LEQ. Csináltam néhány keresést, és megtudta, hogy a lekérdezés ViewAttributes kell állítani "Rekurzív", mint a:

oQuery.ViewAttributes = "Hatály = "Recursive"";

Hogy megoldotta a problémát a tartalmaz. valójában, Ez is a problémámat eredeti keresése, és ha én kellett adni a rekurzív attribútuma az első alkalommal, Szeretnék nem kell futtatni a kérdést újra.

Az a tény, hogy egy Kilátás-kiindulópontul szolgáló SPQuery működik, az egyes gazdasági szereplők (GEQ/LEQ) és nem mások (TARTALMAZ), párosul az a tény, hogy a KPI-k úgy tűnik, nem dolgozik egyáltalán a mappát tartalmazó dokumentum könyvtárak vezet elhinni, hogy a SPQuery van néhány orthogonality kérdés.

Külön köszönet:

</vége>

Subscribe to my blog!

MOSS KPI-hiba? Lista kijelző kötődik a dokumentumtár-mappák

FRISSÍTÉS 02/29/08: Én megoldotta ezt a problémát, hozzon létre egy mappát, és majd egy tartalomtípus hozzárendelése a mappát, amely a meta-adatok, szükségem van a KPI-k. Leírtam, hogy egy kicsit részletesebben itt.

Van végre egy technikai megoldás, ahol a felhasználók dokumentumokat töltse fel egy dokumentumtárba. Az eseményérzékelő létrehoz egy mappát, és áthelyezi a fájlt a könyvtárba (hasonló-hoz mi én írt körülbelül technikával itt). Mi már sikeresen navigált, ezen a környéken: eseményfogadók, hogy nevezze át a feltöltött fájlok által okozott lehetséges problémák (főleg azért, mert a felhasználók soha ne indítsa a dokumentum mellett csattanó-ra "új" de Ehelyett hozzon létre a dokumentumok helyben, és töltse fel őket).

A meta-adatok ezeket a dokumentumokat tartalmaz egy igen/nem webhelyoszlop úgynevezett "sürgős" és egy másik webhely oszlop az úgynevezett "Állapot". Mi kell, hogy megfeleljen az a követelmény, amely megmutatja "sürgető százalékban" akiknek állapota "Függőben lévő" dokumentumok.

Ez általában egyszerű így csinálni és leírtam, hogy valami nagyon hasonló ez-on a SharePoint Beagle sok képernyő szemcsésedik ha érdekel.

Dióhéjban, Én tett a következő:

  • Hozzunk létre egy nézetet, a doc könyvtár úgynevezett "Függőben".
  • Beállíthatja a nézetet figyelmen kívül hagyja a mappa struktúra.
  • KPI-lista létrehozása.
  • Hozzon létre egy mutató a listában, amely rámutat arra, hogy a doc-lib, és hogy "függőben lévő" nézet.

Ez egyszerűen nem működik. A KPI-t mutat az én-m cél (pl. öt sürgős dokumentumokat) de mindig azt mutatja, a tényleges száma sürgős dokumentumokat, mint nulla. Paradox módon, Ha Ön lebontja a részletek, Ez az öt sürgős dokumentumokat a lista mutatja. Egy nagyon egyszerű forgatókönyv készült két dokumentum, egy-egy mappát, és nem. Itt van a screen shot:

kép

A fenti képernyő szemcsésedik egyértelműen azt mutatja, van két dokumentumot, a nézet, de a "érték" az egyik. A "CamlSchema" üres dokumentum azonosítója van a gyökér mappában, a másik pedig,-ban egy dosszié nevezett "84.".

Ez úgy tűnik számomra, hogy annak ellenére, hogy Ön adja meg a nézet, a KPI-t nem becsület, az "összes elem megjelenítése mappák nélkül" beállítás és helyette, a gyökérmappa szorítkozik.

Ha tévedek, Kérjük, csepp én egy vonal, vagy hagy egy magyarázat.

</vége>

Subscribe to my blog!

Technorati Tags:

Megoldás a problémára: “FileNotFoundException” Az én-m szolgáltatás-vevő.

Én dolgoztam egy funkció a múlt héten, hogy növelné néhány eseményfogadók egy adott listához például. (Én blogged egy kicsit a lista vevő itt).

A parancssor használatával, Tudtam telepíteni a vonás-val nem hiba- (lásd lejjebb a rejtett hiba). Mikor próbáltam-hoz felfejlődik a szolgáltatás a helyszínen, MOSS panaszkodott a "FileNotFoundException" hiba. Ez a blog bejegyzés azt ismerteti, hogyan én megfejt ez.

Ez az a hiba, hogy MOSS megmutatta nekem a böngészőben:

A szolgáltatás ' b2cb42e3-4f0a-4380-ka-1ef9cd526f20’ nem lehetett telepíteni, mert "xyzzyFeatureReceiver_0 eseményérzékelő szerelvény betöltése" nem sikerült: System.IO.FileNotFoundException: Nem sikerült betölteni a fájlt vagy összeszerelés "xyzzyFeatureReceiver_0’ vagy annak valamelyik függősége. A rendszer nem tud talál a reszelő megjelölt.
Fájlnév: "xyzzyFeatureReceiver_0’
a System.Reflection.Assembly.nLoad(AssemblyName fájlnév, Karakterlánc-codeBase, Bizonyítékok assemblySecurity, LocationHint közgyűlés, StackCrawlMark& stackMark, Logikai throwOnFileNotFound, Logikai forIntrospection)
a System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bizonyítékok assemblySecurity, StackCrawlMark& stackMark, Logikai forIntrospection)
a System.Reflection.Assembly.InternalLoad(Karakterlánc-assemblyString, Bizonyítékok assemblySecurity, StackCrawlMark& stackMark, Logikai forIntrospection)
a System.Reflection.Assembly.Load(Karakterlánc-assemblyString)
a Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
FIGYELEM: Kódösszeállítás-kötés naplózása ki van kapcsolva OFF.
Ahhoz, hogy közgyűlés kötési hibák naplózása, a beállításazonosító beállítása [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) a 1.
Megjegyzés:: Van néhány előadás büntetés társított közgyűlés kötési hibák naplózása.
Ez a funkció kikapcsolása, eltávolít a iktató hivatal érték [HKLMSoftwareMicrosoftFusion!EnableLog].

A Windows SharePoint Services problémák elhárítása.

Tudom, hogy hogyan szándékosan okoz amit hiba: Ne telepítse a gyülekezési a GAC-ba. de, Ez volt a GAC-ba. Általában telepíteni összeállítások a GAC-ba húzza őket a c:\windowsassembly mappa a windows Intézőben. Soha nem éreztem 100% a kényelmes, mert mindig azt hittem, hogy gacutil létezett egy ok … így próbáltam, hogy. Nem okoz változást.

A Internets kerestem, és találtam ezt a post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

A poszter történt, hogy használja az azonos gyökér darab-ból kód (a belső WSS könyv erről a listáról) Szóval ez volt reményteli jele. Azonban, a díszítő a Közgyűlés a javaslatot egy [szerelvény: ] irányelv nem volt értelme számomra. Egyébként kipróbáltam, és igazam volt. Nem okoz változást.

Akkor vettem észre, hogy az én osztály meghatározása nem volt nyilvános. Azt tette, hogy a nyilvános, és amit gyártott nem különbség.

Következő, Elmentem a baj, hogy a "kódösszeállítás bind hiba napló" (követően a hasznos és pontos utasítások) és ez az, ahol a dolgok kezdtek érdekessé válni. A napló azt mutatja nekem, hogy a futásidejű mindenhol keres a kiszolgálón, az én-m összeállítás. Ez is úgy tűnik, hogy kell keres ez az én-m orvosságos szekrény. de … Ez nem keres ez a GAC-ba.

Tesz-ra az én-m téli dzseki, és megy keres a Internets újra, és még, hogy valaki volt ez a probléma is. A hosszadalmas vita, hogy a kiküldetés peters ki a semmibe, és nem találja a megoldást.

Az én-m összeállítás beköltöznek a napló azt állítja, ez a kereső, és egy kis előrelépést helyek. Vagyok jutalmazták, a böngésző egy új hiba mikor én megpróbál-hoz hatékonnyá tesz a vonás:

Nem sikerült létrehozni a szolgáltatás vevő objektumot kódösszeállítás "xyzzyFeatureReceiver_0", írja be a "Conchango.xyzzyFeatureReceiver" a szolgáltatás b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Értéke nem lehet null..
A paraméter neve: típus
a System.Activator.CreateInstance(Típusa, Logikai nem nyilvános)
a System.Activator.CreateInstance(Típusa)
a Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

A Windows SharePoint Services problémák elhárítása.

Idő részére egy utolsó útra a Internets!

Ebben az időben, én megtud, elég meglepő, hogy moha kérdések ezt a hibát, mert a közgyűlés nem GAC.

Szeretnék venni-t kap valami pozitív ki ezt, és megpróbál úgy érzi, egy kicsit büszke arra, hogy már létrehoztam a Az MSIL összeállítások szökevény, de ez nem működik. Csak sima bosszús vagyok. Én magam, motyogva, "tyúk vagy a tojás" a lélegzetem.

Végül úgy döntenek, hogy punt. Én egy teljesen új projekt létrehozása és a másolás/beillesztés a kódot a incredible-cloaked-from-the-GAC-assembly munka-projekt több mint, hogy ezt az új projekt. (Keres egy épít zászló hívott némileg hasonló "kötelező érvényű, ha telepítette a GAC által tartalmazott kódösszeállítás elrejtése" de nem találja az egyik).

Telepítse a szolgáltatást, és hatékonnyá tesz ez és … Ez szerkezet! Így, Végül is, hogy, Volt, hogy alapvetően ' újraindít’ a projekt. Ez a másik ok miért utálom a számítógépek.

Én megtanul valami hasznos-e. Volt telepítés funkciók segítségével az stsadm követel vonal egész nap és használ a "-force" megszokásból lehetőség. Részére némely ok, Nem használja a - force kapcsolót, amikor telepítettem az új projekt. ezúttal, Én valójában tett, valóban felejtsd el, hogy másolni ezt az új projekt Közgyűlés a GAC-ba. Ennek eredményeként, Kaptam, hogy "FielNotFoundException" hiba. ezúttal, Megvan a stsadm, nem Mikor próbáltam-hoz hatékonnyá tesz a vonás, keresztül a pókháló legel. Így, -erő valójában két szerepet játszik. Ez lehetővé teszi, hogy újra telepíteni egy meglévő funkció. Azt is lehetővé teszi, hogy felszerel egy hibás funkció, amely nem dolgozik-on futási idő-azáltal, hogy visszaszorítja a hiba. Ez valószínűleg mondja valahol segítségével annyira, de én soha nem vettem észre, hogy.

</vége>

Gyors & Könnyű: Segítségével a SharePoint objektum modell az eseményérzékelő keresztül feltöltött fájl átnevezése

FRISSÍTÉS: Ez szerkezet, de vannak jelentős korlátozásokat, amelyeket a megjegyzések. Ez május csendes lenni hasznos-ban némely körülmények.

FRISSÍTÉS 2: A jelenlegi projekt, a felhasználók mindig feltölt okiratok. Ennek eredményeként, Én nem befut egy probléma, ahol MS Word fut, és úgy gondolja, hogy a fájlt átnevezték rajta. Én tett befut egy probléma, "a fájl módosításának valaki más" és megfejt ez keresztül egy egyszerű szemafor típusát jelző. Használók szükség-hoz meta adat mező átalakítása alapértelmezett értéktől valami mást. A itemupdated() vevő úgy néz ki, az érvényes érték ténylegesen végrehajtása az Átnevezés előtt, és azóta, Nem volt gond. Ön kilométerteljesítmény változhat.

Van egy ügyfél követelmény megfelel egy adott névadási adott dokumentumtárba feltöltött fájlok nevének módosítása. Az API biztosít egy "Átnevezés()" a módszer. Ehelyett, az általunk használt "A MoveTo(…)". Itt van egy minimális darab-ból kód-hoz befejez ez:

 nyilvános felülbírálása Érvénytelen ItemAdded(SPItemEventProperties Tulajdonságok)
        {
            SPFile fájl f = tulajdonságai.ListItem.File;

            f.MoveTo(tulajdonságok.ListItem.ParentList.RootFolder.Url + "a /xyzzy.doc");
            f.Update();

        }

A csak bonyolult darab a "tulajdonságai. ListItem.ParentList.RootFolder.Url". A MoveTo() módszerhez egy URL-t. Gyökér dosszié-ból az én-m aktuális dokumentumtár nekem pont karakterlánc tört. Ez lehetővé teszi, hogy nekem, hogy ne az én eseményérzékelő kemény kódolás.

Ez is a hasznos változat, amit csinál ugyanaz a dolog, de rendeli hozzá a fájl neve "Cím":

 nyilvános felülbírálása Érvénytelen ItemAdded(SPItemEventProperties Tulajdonságok)
        {
            DisableEventFiring();

            // Ez a tétel megnevezése rendel a fájl neve.
 // MEGJEGYZÉS:: Ezt a feladatot meg kell történnie, mielőtt mi módosít a reszelő, maga.
 // Hívja frissítés() az SPFile-nak úgy tűnik, hogy érvényteleníti a tulajdonságok
 // bizonyos értelemben.  "A cím frissítések" nem tudta, amíg nem, hogy a változás (és frissítés() Hívja)
 // átkerültek a változás előtt a nevét.
            tulajdonságok.Listaelem["A cím"] = tulajdonságai.ListItem.File.Name;

            tulajdonságok.ListItem.Update();

            SPFile fájl f = tulajdonságai.ListItem.File;

            // Kap a fájl kiterjesztését.  Meg kell, hogy később.
 karakterlánc spfileExt = új FileInfo(f.Name).Kiterjesztés;

            // Nevezze át a fájlt a listaelem-azonosító, és használ a reszelő kiterjesztés-hoz eltartás
 // azt a részét, hogy ép.
            f.MoveTo(tulajdonságok.ListItem.ParentList.RootFolder.Url +
                "/" + tulajdonságok.Listaelem["ID"] + spfileExt);

            // Elkövetni a lépés.
            f.Update();

            EnableEventFiring();
        }

Gyors tipp: Tartalomlekérdezési kijelző, Keresési oszlop értékét és az XSL

Nekem van egy oszlop neve egy tartalomtípus nevű "Ingatlan elhelyezkedése".

Oszlopban a "keresés" típusú.

Én módosította <CommonViewFields> és ItemStyle.xsl, hogy az oszlop megjelenítése.

Egy egyszerű <XSL:értékét, válassza ki a =…> adja vissza egy belső érték, amely magában foglalja a sorrendi pozíció adatok, mint például:

1;#Miami

Hogy az ember-barát érték, használjon xsl részkarakterlánc-után, Amint:

<XSL:valuXSLf válassza a "substring-after =(@Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:érték-ból>

Használja ezt a technikát, amikor dolgozunk az XSL-transzformációkat keresőértékeket, és kell, hogy az ember-barát érték.

<vége />

Technorati Tags: , ,

Gyors és egyszerű: Határozza meg a webhely oszlop belső oszlop neve

FRISSÍTÉS: Jeremy Thake birtokol blogged erről, és néhány kód részére egy konzolalkalmazásban Ez azt mutatja, hogy belső nevek.

Voltam kipróbálás-hoz kap a Tartalomlekérdezés kijelző megjelenítéséhez a tevékenység határidejét, és azért, mert a képernyő-címkét "Lejáró időpont", Feltételezte, hogy az oszlop neve használata <CommonViewFields> az "Due_x0020_Date".

Rossz!

Ebben az esetben volt a valódi oszlop neve "DueDate".

Hogyan tett talál ez? Én újra olvastam, Heather Solomon's blog bejegyzés módosítása CQWP További oszlopok megjelenítése. Ő írja le ez a folyamat lépés #13. Bízik benne. Helyes. Legalább, Ez volt a helyes, értem. Én nem bízik benne az első a sok hosszabb nevet egy másik oszlop.

Azt mondom, "bízik benne" mert nem bízik benne, és költöttél repülőtér közelében két órán keresztül, a fejem egy fal döfés. Miután elhatároztam, hogy a "DueDate" név, Azt akartam, hogy egy másik mező hozzáadása <CommonViewFields>. A Salamon-technikával, Voltam szerzés egy oszlop neve, mint a "XYZ_x0020_Project_x0020_Due_x00".

Gondoltam magamban, Ez egyértelműen egy csonkolt neve. Mentem előre, és nem csonkolt ez-val nem siker. Én végül használt a látszólag lerövidített névvel, és ez munkás.

Bónusz tipp: Mikor voltam működő-val a CQWP, Ha hozzáadott egy rossz belső nevet <CommonViewFields>, a CQWP azt mondja, hogy a lekérdezés nem hozott eredményt visszatért. de, Ha az adattípus hozzá a mező neve, egy eredmény akkor vissza. Az adatok hozzáadása típusú ténylegesen álarcos probléma óta volt hivatkozva egy nem létező mező. Én tudna összead ez, de mikor próbáltam az érték megjelenítéséhez, Én mindig kap egy üres.

Ez volt nem maszk a hiba:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Ez volt a maszk a hiba:

<CommonViewFields>Due_x0020_Date,Dátum és idő;</CommonViewfields>

</vége>