Endlessly gnezdenje <div> Oznake in jQuery

To se zdi kot take Otkačen tema, Nisem prepričan, da je res vredno blogging o, ampak to je nikoli me je ustavil pred, tako da gremo Smile

Sem telovaditi na projektu, kjer sem vleče nekaj podatkov iz iskanja, pakiranje sporočilo o napaki XML in nato da XML na koncu preoblikovala v HTML pot XSLT.  Tam sodeluje veliko jQuery, en bit, ki izvaja nekaj funkcionalnosti tabbing.  Ko kliknete na zavihek (res, a <div>), jQuery sklicuje .hide() in .show() na različnih divs (Ko začetno polnitev stran downloads vsi zadovoljen, tako da ni nobenih povratnih objav v tem primeru).

Kup ur nazaj, zanka preklopitev logika začel obnašati nepredvidljivo in ne bi prikazuje enega od svoj tabs.  Sem navsezadnje gosenicami do dejstva, da internet explorer (vsaj) mislil, da je <div> Tags ugnezdena daleč, veliko globlje, kot predvideno.Developer toolbar bi pokazal:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <— končno kaže, da je zaprla vse poti tukaj!

Tako, Če sem storil a $("#Tab1Content").Skrij(), Bi tudi skriti Tab2 in nikoli ne bi pokazal Tab2, če tudi ni pokazal Tab1.  Kopirali in prilepili kodo v visual studio in je vse v div obloge gor lepo pokazala, tako, kot naj bi bili opravljali, videti takole:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

Premagati mojo glavo ob zid za nekaj časa in opazil, da je bil dejanski HTML kodo ustvarja veliko praznih <div> Tags, kot:

<telo>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

</telo>

(Zgoraj je waaaaaaaaaaaay poenostavljeno.  Prazen div oznake so popolnoma veljavna. Nekaj mojih <div> oznake so bile polne vsebine, vendar ni bilo veliko več.  Sem prišel do spoznanja, da moje <XSL:za vsako> direktiv so bili oddajajo skrajšani obliki div tags ko xsl:za vsako nisem "najde podatkov.  Sem prisiljen HTML komentar v izhod, kot je prikazano:

image

 

Čez sem storil to, vse div postavili lepo in moj zanka preklopitev začel delati.

Kot vedno, Jaz upanje to pomoč nekdo v ščepec.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro: "Vrsta vsebine ime"$ virov:ReportServerResources … ne morejo vsebovati … posebni znaki”

Sem preživel nekaj časa čiščenje ki gre gor a SharePoint 2010 mesto in eno od vprašanj, čiščenje nanaša na poškodovana / nepravilno nameščena izdaja poročila storitve SQL Server.  Vprašanje je nastala, ko je eden od mojih kolegov poskušal Shrani stran kot predlogo in nato ustvarite ustvariti novo spletno stran, ki temelji na tej predlogi.  Shrani delovanje obdelan lep, vendar, ko je poskušala ustvariti novo mesto, SharePoint prikaže sporočilo o napaki:

Napaka

Ime vrste vsebine "$Resources:ReportServerResources,DataSourceContentTypeName;»ne more vsebovati: \ / : * ? “ # % < > { } | ~ & , dveh zaporednih pik (..), ali posebnih znakov, na primer tabulator.

Tukaj je zaslon SKP:

 

image

Imel si vrste vsebine na mestu in našel tole:

image

Te vrste vsebine so jasno nezdravo.

To vprašanje se zdi, da pridejo veliko na Internets in tam ne zdi, da se eno soglasje o tem, kako rešiti to.  Sem ugotovila, priročno tabelo, ki kartograf slabo vrsta vsebine imena v dober vrsto vsebine imena tukaj: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Jaz ročen modernizirati jih thusly:

image

(BrightStarr v imenu je očitno neobvezno, vendar ne more škoditi Smile )

To omogučiti mi tvoriti nove predloge in nič ni prekinil na drugih straneh, tudi nekatere stvari PerformancePoint Server, da delali popolnoma drugo skupino ljudi.  Potem sem lahko ustvarite novo mesto na predlogo.  Uspeh!

Ne vem, to je a 100% rešitev, ampak to me in vse vpletene preteklosti to siten napaka.  Če najdem kaj novega, Bom post posodobitev.  Moja živčnost izhaja iz dejstva, da ta imena smeli narobe na prvem mestu in z določitvijo prikazno ime, Sem ne stikajo notranje ime. 

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Eden vzrok za "ustvarjalca ta napaka ni navedel razlog.”

Sem bil početje veliko dela s SharePoint Išči zadnje čase in posebej KeywordQuery razred, lastnosti in metod.

Če želite rezultate v rezultate, ki presegajo običajni osumljenci (glej tukaj), dodate v zbirko SelectedProperties, kot v:

myKeywordQuery.SelectProperties.Add("xyzzy");

Najlepša hvala in konice klobuk v Corey Roth in Ta velikanski uslužen blog post (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

V mojem primeru, "xyzzy" ni dejansko upravljano lastnost.  Ko sem dodal, da SelectedProperties nekako, SharePoint vrgel eden izmed mojih najljubših kdaj runtime izjeme:

"Ustvarjalca ta napaka ni navedel razlog."

Jaz še posebej všeč kapitala "R" v razlog.  To mi zveni, kot enakovredno .NET"Imam ne usta, in mora scream.”

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Priročno referenčno: Privzeto rezultate od KeywordQuery iskanja

Kdaj boste priklicati v izvršitev() metoda na a KeywordQuery, Ustvarite lahko ResultTable na ResultType.RelevantResults podlagi.  Ta košček kode ponazarja, kaj mislim:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Končna tabela bo imel naslednje stolpce podatkov: 

WorkId
Rank
Naslov
Avtor
Velikost
Pot
Opis
Napisati
Imemesta
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Sem ta seznam nastanejo za SharePoint 2010 okolje, lotitev naklada.  Upajmo, da bo prav, da nekdo v prihodnosti.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Eden od razlogov za: "Uspelo ekstrakt cab datoteke v raztopini”

Medtem ko delate na del visual studio web projekt danes, Sem storil manjše re-org nekaterih datotek položiti v mapi »_Layouts« , kot del procesa uvajanja. Posebej, Jaz preimenovati a .js pila iz "TypeAhead.js" v "TypeAhead(stari).js"  Nameravam ga odstranite takoj, ko njegov naslednik "TypeAhead.js" dokazuje pravilno.  Je izgledala:

image

To je takoj povzročilo problem z visual studio, ko sem poskušal razviti projekt:

Napaka v programu uvajanja korak "Dodaj rešitev": Citat cab datoteke v rešitvi ni uspelo.

Izkazalo se je, da ne smete dati oklepaj v imenih datotek.  Sem odstranil je parens in da je problem rešen.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Še več jQuery–Velikost primer slike

Sem podedoval spletnih gradnikov iz starega dobavitelja naročnika in je podoba velikost problem.  Slike morajo biti 60×50 ampak za nekatere čuden razlog, original dobavitelja prisilila v 42×42, tako izgledajo Izgnječen:

 

Dobro sliko

Slab imidž

Tukaj je označevalni (nekoliko poenostavljeno):

<namizni razred = "razširjeni outlook">
  <THEAD>
    <tr>
      <th  širina = "100′>3 Torek</th>
    </tr>
  </THEAD>

  <TBODY>
    <razred tr = "napoved">
      <td širino = "100′>
        <UL>
          <Li class = "high">Visoko: 72&deg;F</Li>
          <Li class = "majhna">Nizko: 44&deg;F</Li>
          <Li class = "stanju">Sončno
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ širina = 42’ višina = 42’ ALT =” />
          </Li>
        </UL>
      </TD>
    </tr>

  </TBODY>

</Tabela>

Bom vas opozoriti, da čeprav je pot do slike, sama prikazuje ustreznega razsežnosti (60×50) uradne to prisiljeni v 42×42.  zakaj?  noro.

Kakorkoli že, Hotela sem, da hitro in enostavno rešitev za težavo in sem se obrnil k jQuery.  Trik je najti vse ustrezne <img> Tags.  Nisem hotel postopati z vse druge oznake img (od katerih so mnogi).  Ta bit jQuery did ukana:

<scenarij type = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></skript>

<skript type = "text/javascript">
     $(dokument).pripravljena(Funkcija () {

         $("li.condition > img ").vsak(Funkcija (indeks, element)
           
{
             $(element).CSS("širina", "60"); 
             $(element).CSS("višina", "50");
            });
     }); // na dokument obremenitev
</skript>

Ta košček kode najde zbiranje <Li> Tags katerega razreda je "stanje" in <img> otroci.  To nato poudarjeno skozi vse to.  Obdelan brezhibno.

Verjetno bi poenostaviti to, ampak nikoli nisem bil na vrste človek unix, ki reši π za 18 števk natančnost z uporabo sed in awk in nisem te vrste, če jQuery fant bodisi Smile.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Razčlenjevanje XML z LINQ

Tukaj je preprost primer, z uporabo LINQ razčleniti nekatere  XML in zaslužiti na sladko, Sweet atributi v njej.

Tukaj je XML, želim razčleniti:

<?različica XML = "1,0" kodiranje = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <Ime PageLayout = "xyzzy">
      <Tabs>
        <Zanka TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Zanka TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Tabs>
    </PageLayout>

    <Ime PageLayout = "xyzzy2">
      <Tabs>
        <Zanka TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Zanka TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Zanka TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Tabs>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Želim zgraditi nekaj jezičkov na runtime z razčlenjevanjem zgoraj.  Svoj tabs je odvisna od postavitve strani.  Če postavitev moje strani ime "xyzzy2" potem hočem zaslužiti tabs 100, 101 in 103 (kartice v <Ime PageLayout = "xyzzy2">).

Tukaj je LINQ, da zato:

var allTabs =
              iz p v
                  XElement.Parse(theXmlToParse).
                 
Elementi("PageLayouts").
                  Elementi("PageLayout")
              kjer (p.Attribute("ime").Value.Equals("xyzzy2"))
              iz m v p.Elements("Tabs").Elementi("Tab")
              Izberite m;

          Results.Text = niz.Prazna;

          foreach (var aTab v allTabs)
          {
              Results.Text =
                  "Premikanja: " + aTab.Attribute("TabOrder").Vrednost + " |" +
                  "Zanka oznaka: " + aTab.Attribute("TabLabel").Vrednost + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Vrednost + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Vrednost + "r";
          }

V zgoraj, Spremenljivka "theXmlToParse" je string spremenljivke, lahko pa uporabite obremenitev() metoda na tok, če vam je všeč.

"Rezultati" je nalepka na spletni obrazec in ko ta koda izvede, Izgleda, da to:

SNAGHTML11cd2e7c

Nisem delal, kako razvrsti rezultate še, tako da bom dopust, da se za prihodnost blog post.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery in anonimnim uporabnikom

V mojo spletno stran za preskus v spletni gradnik iskanja, sem bil razvija, in ni veliko presenečenje sem omogočeno anonimni dostop, niso povsem delu.  Anonimni dostop je precej vedno izziv za mene.

V tem primeru, začetnega iskanja ni bil nameščen iz neznanega razloga.  Jaz bi rekel, da je je bil teče, vendar je bil ne vrne nobenega rezultata.  Jaz sem z uporabo je KeywordQuery za ta začetni zaslon.

Sem hitro iskanje in ta blog post by"sowmyancs"je bil precej hitro: “SharePoint 2010 Iskanje: ne kažejo nobenih rezultatov za anonimne uporabnike?”  Blog vnos jo opiše iz izven škatla ključno besedo iskanja perspektive, ampak vedenje je bil podoben rudnik – delal za preverjene uporabnike in za anonimne uporabnike, vendar anonimni uporabniki dobili nobenih rezultatov. 

Jaz pripadnik navodila in bang!  To rešiti svoj izdaja.  Nisem prepričan, kaj stranskih učinkov, bo to imelo in jih lahko izkaže, da je problem, Toda kratkoročno rezultat je koristno.

Kliknite skozi blog:

image

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery in HiddenConstraints lastnosti

Sem bil početje nekaj dela z na KeywordQuery predmet v SharePoint 2010 in uporabo v HiddenConstraints Lastnost.

Nisem našel vsak takoj koristne informacije o da nepremičnine, tako sem mislil, da bi hitro Pribilježiti Kako uporabljam to.

Kolikor sem lahko povedal, To je avtomatski omejitev, dodani v poizvedbo tako, da lahko neke vrste park, ki je tam in ne skrbi.  Kot taka, To je samo še ena ključna beseda (ali niz ključnih besed) in modifikatorji, ki jih lahko vnesete v UI čas vi delati iskanje ključnih besed.  Tukaj je primer:

keywordQuery.HiddenConstraints = "področje:\"Industry" ";

Dodate lahko dodatne omejitve z prostor ločilo.

keywordQuery.HiddenConstraints = "področje:\"Industry" obrambo";

Zgoraj je rekel v angleščini, »zaženite poizvedbo ključne besede išče "obramba" in poleg, Uporabite področje "Industrija".

Drug način gledanja na to:

image

Že nekaj časa uporabljam to zagotoviti konteksta odvisne od samodejen obseg po meri spletnega gradnika.  Ko uporabnik klikne jeziček in klikne gumb Išči, jeziček narekuje poseben preiskava področje.  To deluje tudi doslej.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Primer: XSLT ustvarjanje HTML Href's

Sem bil početje a košček od XSL stvari v zadnjem času in mislil sem bi skupaj vzorec v moji prihodnosti in da se lahko vrednosti za vse nas, ki živijo v internets XSLT-ers.

Razmislite o naslednjih XML:

<FdcSearchTabsCollection Count = "2">
  <SearchTab oznaka = "industrija" Vrstni_red_razvrščanja = "00" oznaka = "Industrij" SearchConstraints = "contenttype:Industrija" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab oznaka = "prakse" Vrstni_red_razvrščanja = "01" oznaka = "Prakse" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

Naslednje odrezek XSL bo ustvarila razvrščen seznam hrefs kartic:

<XSL:predloga tekmo = "FdcSearchTabsCollection" XML:prostor = "ohranitev">
   
    <!– "Vse" TAB –>
    <a href = "javascript:ViewTab("Vse")">Prikaži vse</a>
   
    <!– Vsaka posamezna zanka –>
    <!– Ponovi vse zavihke in prikaz pravilne  povezave. –>
    <XSL:za vsako izberite = "SearchTab">
      <XSL:razvrščanje select="@SortOrder"/>

      …
      <a href = "javascript:ViewTab(‘{@TabID}’)"><XSL:vrednost od select="@Label"/></a>
    </XSL:za vsako>

    <br /> 
   

   </XSL:predlogo>

Tukaj je, kako izgleda v SharePoint:

SNAGHTML78aa2cb

 

 

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin