Бесконечно гнезди <div> Тагови и jQuery

Ова изгледа како таква шантав тема, Не сум сигурен дека тоа е навистина вреди да се блогирање за, но тоа никогаш не ме спречи пред, па тука ќе одиме Насмевка

Јас работам надвор на еден проект каде што јас сум ги влече некои податоци од пребарување, пакувањето, тоа до во XML порака, а потоа дека XML е во крајна линија трансформира во HTML преку XSLT.  Има многу на jQuery вклучени, една малку на кој се спроведува некои tabbing функционалност.  Кога ќе кликнете на табот (навистина, на <div>), jQuery повикува. скриј() и. шоу() на различни divs (почетна страница оптоварување симнува сите содржини, така нема postbacks во овој случај).

Еден куп на часови, табот префрлување логика почна да се однесува неконтролирано и тоа не би се покаже еден од моите табови.  Јас конечно го следи се сведува на фактот дека Internet Explorer (најмалку) мислев дека <div> тагови вгнездени далеку, далеку подлабоко од intended.The инвеститорот алатникот ќе покаже:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Конечно да го покажат тоа беше затворен целиот пат тука!

Така, ако направив $("# Tab1Content").Скриј(), Исто така јас се кријат Tab2 и јас никогаш не може да покаже Tab2 ако јас не се исто така покажуваат Tab1.  Јас копирани и атипичен кодот нагоре во Visual Studio и покажа на сите поставата на div е убаво, исто како и тие требаше да се прави, изгледа вака:

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

Јас победи мојата глава против ѕид за време и забележав дека во конкретната HTML кодот е генерирање на многу празни <div> тагови, како:

<тело>

  <div id = "Tab1Content">

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

  </div>

  <div id = "Tab2Content">

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

  </div>

</тело>

(Погоре е waaaaaaaaaaaay над поедноставени.  Празните div тагови кои се целосно валидни. Некои од моите <div> тагови беа полни со содржина, но многу повеќе не беа.  Дојдов до сознание дека ми <XSL:за секој-> директиви се емитуваат на краток форма div тагови кога XSL:за-секој не 'најдат никакви податоци.  Јас принудени на HTML коментар во производство, како што е прикажано:

image

 

По го сторив тоа, сите div е построи убаво и ми јазиче префрлување започна со работа.

Како и секогаш, Се надевам дека ова им помага на некој во краен случај.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Брз лек: "$ Ресурси типот на содржина името":ReportServerResources … не може да содржи … специјални карактери”

Сум бил трошење некое време расчистување на SharePoint 2010 сајт и еден од расчистување на прашања се однесува на корумпираните / неправилно инсталирана SQL Server, Злоупотреба Услуги прашање.  Прашањето стана кога еден од моите колеги се обиде да се спаси еден сајт како дефиниција, а потоа се создаде се создаде нов сајт врз основа на таа дефиниција.  Работењето спаси добро работеа, но кога таа се обиде да се создаде нов сајт, SharePoint прикажува порака за грешка:

Грешка

$ Ресурси типот на содржина името ":ReportServerResources,DataSourceContentTypeName;"Не може да содржи: \ / : * ? " # % < > { } | ~ & , две последователни периоди (..), или специјални карактери како што се јазиче.

Еве еден екран капа:

 

image

Имав поглед на типови на содржини во сајт и најдов ова:

image

Оние типови на содржини се јасно нездраво.

Ова прашање се чини дека доаѓа до многу за на Internets и таму не чини да се биде единствен консензус за тоа како да го реши.  Најдов корисна маса која одбележан лошите типот на содржина имиња на добар типот на содржина имиња тука: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Јас рачно ги ажурира thusly:

image

(BrightStarr во името е очигледно опција, но тоа не може да боли Насмевка )

Ова ми дозволи да се создаде нова дефиниција и не се скрши нешто на други сајтови, вклучувајќи и некои Server PerformancePoint нешта кои сосема различна група на луѓе беа на работа.  Јас бев во можност потоа да креираш нова страница на дефиниција.  Успех!

Не сум сигурен, ова е 100% решение, но тоа ме и сите кои се вклучени минатото овој досадни.  Ако најдам нешто ново, Ќе испраќате ажурирање.  Мој нервоза произлегува од фактот дека овие имиња не треба да биде во ред на прво место и од страна на одредување на екранот името, Јас не сум допирање на внатрешна име. 

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Една причина за "креаторот на оваа грешка не прецизираше со причина.”

Сум бил прави многу работа со SharePoint пребарување во последно време и посебно на KeywordQuery класа, особините и методите.

Ако сакате пронајден во собата да се вратат резултати погоре и надвор од вообичаените осомничени (види тука), ќе го додадете на SelectedProperties колекција, како и во:

myKeywordQuery.SelectProperties.Add("Xyzzy");

Многу благодарам и врвот на капа да Corey Рот и овој енормно корисни блог пост (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Во мојот случај, "Xyzzy" всушност и не е воден сопственост.  Кога јас ќе ја додаде SelectedProperties онака, SharePoint фрли еден од моите омилени некогаш траење исклучоци:

"Креаторот на оваа грешка не прецизираше со причина."

Јас особено се допаѓа капитал "Р" во Разумот.  Ова звучи на мене како. NET еквивалент на "Јас немам уста, и морам да врескаат."

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Корисна референца: Стандардно Резултати од KeywordQuery Барај

Кога ќе се повика на Изврши() метод на KeywordQuery, можете да креирате ResultTable врз основа на ResultType.RelevantResults.  Овој код покажува што сакам да кажам:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Како резултат на маса ќе ги имаат следните колони на информации: 

WorkId
Рангира
Наслов
Автор
Големина
Пат
Опис
Напиши
Мапа на име
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Јас добиени оваа листа од SharePoint 2010 животната средина, Enterprise Edition.  Се надеваме дека тоа ќе биде корисна за некого во иднина.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Една од причините за: "Не успеав да се извлече од кабината датотека во решение”

Додека работел на Visual Studio веб дел проектот денес, Јас не малолетник ре-организација на некои датотеки, за да се стави во _layouts папка како дел од процесот на распоредување. Специјално, Јас преименувале. Js фајл од "TypeAhead.js" до "TypeAhead(стариот).js "  Планирам да го отстрани што е можно неговиот наследник "TypeAhead.js" докажува точни.  Тоа изгледа вака:

image

На ова веднаш предизвика проблем со Visual Studio, кога се обидов да се распореди на проектот:

Error occurred in deployment step ‘Add Solution’: Не успеа да се извлече од кабината датотека во решение.

Излезе дека не треба да се стави во заграда имиња на датотеки.  Јас отстрани parens и дека се реши проблемот.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Уште повеќе jQuery–Промени големина на слика Пример

Јас наследи веб дел од стариот продавач на клиентот и тоа има големината на сликата проблем.  Сликите треба да бидат 60×50 но за некои чудни причина, оригиналниот продавач ги принудувал во 42×42, па тие да изгледа стеснето:

 

Добра слика

Лоша слика

Еве за Селектирај (малку поедноставена):

<маса класа = 'продолжен Outlook'>
  <thead>
    <tr>
      <та  width = '100′>3 Вторник</та>
    </tr>
  </thead>

  <tbody>
    <tr класа = 'прогноза'>
      <ТД width = '100′>
        <Улица>
          <Ли класа = "високо">Високо: 72&сте;F</Ли>
          <Ли класа = 'ниски'>Ниско: 44&сте;F</Ли>
          <Ли класа = "состојба">Сонцето
            <img src =’
HTTP://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ width = '42’ height = '42’ alt =” />
          </Ли>
        </Улица>
      </td>
    </tr>

  </tbody>

</маса>

Ќе се напомене дека иако патот кон сликата сама по себе покажува соодветна димензија (60×50) оригиналниот продавач беше принуден во 42×42.  Зошто?  Луди.

Како и да е, Сакав брзо и лесно решение на ова прашање и се свртев jQuery.  Трикот е да го лоцира сите на соодветни <img> тагови.  Јас не сакам да мотам со било која друга IMG тагови (на кои има многу).  Ова малку на jQuery не е доволно:

<скрипта тип = "text / javascript" src ="HTTP://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></скрипта>

<скрипта тип = "text / javascript">
     $(документ).подготвени(функција () {

         $(‘li.condition > img ').секоја(функција (индекс, содржина)
           
{
             $(содржина).CSS("Ширина", "60"); 
             $(содржина).CSS("Висина", "50");
            });
     }); // на документот оптоварување
</скрипта>

Тоа малку на кодот наоѓа колекција <Ли> тагови чија класа е "состојба" и <img> деца.  Таа потоа iterates преку сето тоа.  Работел како шарм.

Јас веројатно би можеле да го насочат, но никогаш не бев вид на Unix дечко кој реши π да 18 цифри прецизност користење на сед и awk и јас не сум таков вид ако jQuery дечко или Насмевка.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Парсирање на XML со LINQ

Еве еден брз пример, со користење LINQ да анализирам некои  XML и да добиете на слатки, слатка атрибути во него.

Еве на XML сакам да го анализирам:

<?XML верзија = "1,0" кодирање = "UTF-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout име = "xyzzy">
      <Јазичиња>
        <Табот TabOrder = "1" Табела = "х" SharePointContentType = "на" AdditionalConstraints = "AC1" />
        <Табот TabOrder = "2" Табела = "y" SharePointContentType = "б" AdditionalConstraints = "ac2" />
      </Јазичиња>
    </PageLayout>

    <PageLayout име = "xyzzy2">
      <Јазичиња>
        <Табот TabOrder = "100" Табела = "х" SharePointContentType = "на" AdditionalConstraints = "AC1" />
        <Табот TabOrder = "101" Табела = "y" SharePointContentType = "б" AdditionalConstraints = "ac2" />
        <Табот TabOrder = "103" Табела = "Z" SharePointContentType = "в" AdditionalConstraints = "AC3" />
      </Јазичиња>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Сакам да се изгради некои табови во траење од анализирањето на погоре.  Мој јазичиња зависи од формата на страната.  Ако името на мојата страница распоред е "xyzzy2", тогаш сакам да се јазичиња 100, 101 и 103 (табовите во <PageLayout име = "xyzzy2">).

Еве LINQ дека тоа го прави:

беше allTabs =
              од стр во
                  XElement.Parse(theXmlToParse).
                 
Елементи("PageLayouts").
                  Елементи("PageLayout")
              каде (p.Attribute("Името").Value.Equals("Xyzzy2"))
              од m во p.Elements("Јазичиња").Елементи("Tab")
              изберете м;

          Results.Text = string.Empty;

          foreach (ATAB беше поставен allTabs)
          {
              Results.Text =
                  "Tab Побарувања: " + aTab.Attribute("TabOrder").Вредност + " |" +
                  "Tab Етикета: " + aTab.Attribute("Табела").Вредност + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Вредност + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Вредност + " R";
          }

Во погоре, променливата "theXmlToParse" е стринг променлива, но можете да го користите товарот() метод на поток ако ви се допаѓа.

"Резултати" е етикета на веб форма и кога овој код извршува, тоа би изгледало вака:

SNAGHTML11cd2e7c

Јас не сум работел надвор како да го решите резултатите се уште, па јас ќе го оставиме тоа за во иднина блог пост.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery и анонимен Корисници

Јас от анонимни пристап во мојот сајт да пробате пребарување веб дел Сум се развива и да не големо изненадување, тоа не сосема работат.  Анонимни пристап е доста секогаш предизвик за мене.

Во овој случај, почетна пребарување не се кандидираше за некоја причина.  Јас треба да се каже дека тоа беше трчање, но тоа не се враќал никакви резултати.  Јас сум со користење на KeywordQuery за онаа иницијална дисплеј.

Јас не брзо пребарување и овој блог пост со "sowmyancs"Дојде до релативно брзо: "SharePoint 2010 Пребарување: не покажува никакви резултати за анонимни корисници?"  Дека блог запис опишува проблемот од надвор од кутијата клучни зборови за пребарување перспектива, но однесувањето бил сличен на рудникот - тоа работел за најавени корисници и за анонимни корисници, но анонимни корисници не доби резултати. 

Го следев инструкции и тресне!  Таа реши мојот проблем.  Јас не сум сигурен што несакани ефекти ќе има ова и тие може да се покаже да биде проблем, но на краток рок резултат е корисно.

Кликнете на преку блог:

image

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery и HiddenConstraints сопственост

Сум бил прават малку на работа со KeywordQuery објект во SharePoint 2010 и тоа што употребата на HiddenConstraints сопственост.

Јас не најде никакви веднаш корисни информации за тој имот, па мислев дека сум брзо би ни трошка одредување на тоа како јас сум бил го користат тоа.

Колку што можам да кажам, Ова е автоматски ограничување додадена на пребарување, така што ќе може да се најде на паркот таму и не грижете се за тоа.  Како што се, тоа е само уште еден клучен збор (или збир на клучни зборови) и изменувачи што можете да напишете во корисничкиот интерфејс, кога ќе направите пребарување на клучни зборови.  Еве еден пример:

keywordQuery.HiddenConstraints = "scope:\"Industry\"";

Можете да додадете дополнителни ограничувања со празно место раздвојувачот.

keywordQuery.HiddenConstraints = "scope:\"Industry\" defense";

На погоре е велејќи дека на англиски јазик, "Води клучни зборови за пребарување во потрага по" одбрана ", а освен, употреба на "индустрија" опсегот.

Еве уште еден начин на гледање на тоа:

image

Сум бил го користат тоа за да се обезбеди контекст зависни од автоматско обемот на сопствени веб дел.  Кога корисникот ќе кликне на јазичето и кликне на копчето за пребарување, табот диктира одредена пребарување опсегот.  Тоа е работа добро досега.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Пример: XSLT создавање на HTML href е

Сум бил прават малку на XSL нешта во последно време и мислев јас би се стави заедно со примерок за мојата иднина и дека може да биде од вредност на сите нас XSLT-те правење на живеење во на Internets.

Размислете за следново XML:

<FdcSearchTabsCollection Count="2">
  <SearchTab Label="Industry" SortOrder=”00” Label=”Industries” SearchConstraints="contenttype:Индустрија" TabID="831b2a74-98c4-4453-8061-86e2fdb22c63"/>
  <SearchTab Label="Practices" SortOrder=”01” Label=”Practices” SearchConstraints="contenttype:PracticeGroups" TabID="678e206b-6996-421f-9765-b0558fe1a9c0"/>
</FdcSearchTabsCollection>

Следниве XSL програмка ќе генерира Подредена листа на hrefs јазичиња:

<XSL:template match="FdcSearchTabsCollection" XML:space="preserve">
   
    <!– The "all" табот –>
    <a href="javascript:ViewTab(‘All’)">Прикажи ги сите</на>
   
    <!– Секој поединец табот –>
    <!– Iterate низ сите јазичиња и го покажуваат точното  линкови. –>
    <XSL:for-each select="SearchTab">
      <XSL:sort select="@SortOrder"/>

      …
      <a href="javascript:ViewTab("{@ TabID}")"><XSL:value-of select="@Label"/></на>
    </XSL:за секој->

    <Br /> 
   

   </XSL:дефиниција>

Еве како изгледа во SharePoint:

SNAGHTML78aa2cb

 

 

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin