Нескінченно вкладення <DIV> Теги і jQuery

Це схоже такого дивак тему, Я не впевнений, що це дійсно коштує в блозі про, але це ніколи не зупиняло мене перед, так що тут ми йдемо посмішка

Я працюю проект, де я потягнувши деякі дані від пошуку, упаковки його в XML-повідомлення а потім що XML в кінцевому рахунку перетворюється в HTML за допомогою XSLT.  Існує багато jQuery участь, один біт, який реалізує деякі табуляції функціональність.  При натисканні на вкладці (Справді, на <DIV>), jQuery викликає .hide() і .show() різні Діви (первинного завантаження сторінки завантажує всі вміст, щоб там не без зворотної передачі при цьому).

Купу години тому, вкладці перемикання логіка почав працювати з помилками, і він не буде показувати один з моїх вкладки.  Я в кінцевому підсумку відслідковуються його аж до того, що internet explorer (по крайней мере) думав, що в <DIV> Мітки вкладені далеко, набагато глибше, ніж передбачалося.Б показати панель інструментів розробника:

-<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 відображається таке повідомлення про помилку:

Помилка

Ім'я типу вмісту ' $Resources:ReportServerResources,DataSourceContentTypeName;' не може містити: \ / : * ? “ # % < > { } | ~ & , дві послідовних крапки (..), або спеціальні символи, наприклад табуляція.

Ось знімок екрана:

 

image

Я дивитися на типи вмісту сайту і знайшов, що це:

image

Ці типи вмісту є чітко здоровою.

Це питання, здається, придумати багато про Інтернеті і не здаються бути одного консенсусу про те, як її вирішити.  Я знайшов handy таблиці, яка зіставлено погано типу вмісту імена хороший тип вмісту імена тут: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Я вручну оновити їх константи виглядає:

image

(BrightStarr ім'я не є очевидно обов'язковим, але вона не може пошкодити посмішка )

Це дозволило мені створити новий шаблон і не зламали на інших сайтах, у тому числі деякі PerformancePoint сервера речі, які абсолютно різні групи людей працюють на.  Тоді я зміг створити новий сайт в шаблоні.  Успіх!

Я не впевнений, що це за 100% рішення, але це змусило мене і всіх задіяних структур минулому це дратує помилка.  Якщо я можу знайти нічого нового, Я буду після оновлення.  Моя нервозність виникає з того факту, що ці імена не повинно бути неправильно в першу чергу і, фіксуючи коротке ім'я, Я впевнений, не торкаючись внутрішнє ім'я. 

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Однією з причин для "Творець цього вина не вказати причини.”

Я займаюся багато роботи з пошуку SharePoint останнім часом і спеціально KeywordQuery класу, властивості та методи.

Якщо ви хочете результуючий набір для повернення результатів вище і поза звичайні підозрювані (Дивіться тут), ви додати його до колекції SelectedProperties, як і в:

myKeywordQuery.SelectProperties.Add("xyzzy");

Велике спасибі і відгук капелюх на Корі рот і Це надзвичайно корисно блог (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

У моєму випадку, "xyzzy" не є насправді керовану властивість.  Коли я додав його в SelectedProperties будь-якому випадку, SharePoint кинули одна з моїх улюблених коли-небудь runtime виключення:

"Творець цього вина не уточнив привід."

Мені особливо подобається Капітал "R" по розуму.  Це звучить для мене як .NET еквівалент"У мене немає рота, і я повинна кричати.”

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Handy посилання: За промовчанням результати пошуку KeywordQuery

Коли ви посилатися на виконання() метод на на KeywordQuery, Ви можете створити ResultTable на основі ResultType.RelevantResults.  Цей фрагмент коду свідчить про те, що я маю на увазі:

ResultTableCollection-resultsTableCollection = myKeywordQuery.Execute();

ResultTable-searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Результуючі таблиці буде мати такі стовпці відомостей: 

Ідентифікатор завдання
Ранг
Назва
Автор
Розмір
Шлях
Опис
Писати
Ім'я сайту
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Я основі цього списку SharePoint 2010 навколишнє середовище, Enterprise edition.  Сподіваюся, це буде зручно, щоб хтось в майбутньому.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Одна з причин: "Не вдалося витягти кабіна файлу в рішення”

Під час роботи на visual studio веб-частини проекту сьогодні, Я зробив, що дрібних re-org деякі файли, щоб покласти в _layouts папку в процесі розгортання. Зокрема, Я перейменував JS з "TypeAhead.js" до "машинописний(старі).JS"  Я збираюся видалити її, як тільки його наступник "TypeAhead.js" виявляється правильним.  Вона подивилася, як це:

image

Це відразу ж викликало проблеми з visual studio, коли я спробував розгорнути проекту:

Сталася помилка під час розгортання кроці додати рішення: Не вдалося вилучити файл кабіни в рішення.

Виявляється, що ви не повинні покласти дужкою в іменах файлів.  Я видалив в parens і що проблема вирішена.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Ще більше jQuery–Змінити розмір зображення-приклад

Я успадкувала веб-частину від клієнта старого продавця, і він став проблемою іміджу розмір.  Зображення повинні бути 60×50 але для деякого непарного причини, оригінальний постачальника змусила їх в 42×42, так, щоб вони стисло:

 

Гарне зображення

Поганий імідж

Ось розмітки (дещо спрощене письмо):

<Таблиця клас = 'extended outlook'>
  <thead>
    <TR>
      <го  Ширина ='100′>3 Вівторок</го>
    </TR>
  </thead>

  <tbody>
    <TR-клас = 'прогнози'>
      <TD ширина ='100′>
        <ul>
          <Лі клас = 'високий'>Висока: 72&Тру;F</Лі>
          <Лі клас = "низький">Низький: 44&Тру;F</Лі>
          <Лі клас = 'умови'>Сонячно
            <IMG src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/EN/Trans/cond007.png’ Ширина ='42’ Висота ='42’ Alt =” />
          </Лі>
        </ul>
      </TD>
    </TR>

  </tbody>

</Таблиця>

Ви помітите, що навіть незважаючи на шлях до самого зображення показує належного вимір (60×50) оригінальний постачальника змусив його в 42×42.  Чому?  Божевільний.

У всякому разі, Я хотів швидко і легко вирішення цього питання, і я звернувся до jQuery.  Трюк був знайти всі відповідні <IMG> Мітки.  Я не хочу, щоб гидоту будь-які інші теги img (яких є багато).  Це трохи jQuery зробили свою справу:

<скрипт тип = текст/javascript"" src ="http://Ajax.googleapis.com/AJAX/libs/Jquery/1.5/JQuery.min.js"></сценарій>

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

         $(' li.condition > IMG').Кожен(функція (індекс, елемент)
           
{
             $(елемент).CSS("ширина", "60"); 
             $(елемент).CSS("Висота", "50");
            });
     }); // завантаження документа
</сценарій>

Що біт код знаходить колекції <Лі> Мітки, чиї клас є "стан" і <IMG> дітей.  Потім він спроектувала через все це.  Працював як шарм.

Я ймовірно може оптимізувати його, але я ніколи не був на unix хлопцем, вирішеня π Щоб 18 точність цифр за допомогою sed і awk, і я не такий, якщо jQuery хлопець або посмішка.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Розбору XML з LINQ

Ось невеликий приклад використання LINQ проаналізувати деякі  XML і отримати в солодкий, солодкий атрибути в ньому.

Ось це я хочу розбору XML:

<?XML версія = "1,0" кодування = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout назва = "xyzzy">
      <Вкладки>
        <"Вкладка" TabOrder = "1" TabLabel = "x" SharePointContentType = "за" AdditionalConstraints = "ac1" />
        <"Вкладка" TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Вкладки>
    </PageLayout>

    <PageLayout назва = "xyzzy2">
      <Вкладки>
        <"Вкладка" TabOrder = "100" TabLabel = "x" SharePointContentType = "за" AdditionalConstraints = "ac1" />
        <"Вкладка" TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <"Вкладка" TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Вкладки>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Я хочу, щоб побудувати деякі вкладок під час роботи з розборі вище.  Мій вкладки залежати від макет сторінки.  Якщо ім'я мого макет сторінки "xyzzy2", то я хочу отримати вкладки 100, 101 і 103 (вкладки у <PageLayout назва = "xyzzy2">).

Ось LINQ, що робить його:

VAR allTabs =
              від ПР в
                  XElement.Parse(theXmlToParse).
                 
Елементи("PageLayouts").
                  Елементи("PageLayout")
              де (p.Attribute("ім'я").Value.Equals("xyzzy2"))
              від м у p.Elements("Вкладки").Елементи("Вкладку")
              вибрати м;

          Results.Text = рядок.Порожній;

          foreach (VAR aTab в allTabs)
          {
              Results.Text =
                  "Послідовність переходу: " + aTab.Attribute("TabOrder").Значення + " |" +
                  "Мітку вкладки: " + aTab.Attribute("TabLabel").Значення + " | " +
                  "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 = "сфера:\"Industry" ";

Можна додати додаткові обмеження з простору роздільник.

keywordQuery.HiddenConstraints = "сфера:\"Industry" оборона";

Вище говорить англійською мовою, "виконання запиту ключовим словом шукає"захист"і, крім того, використовувати рамки "Промисловості".

Інший спосіб погляд на це:

image

Я використовую його надати контексті залежать від автоматичного сферу користувацьких веб-частини.  Коли користувач натискає на вкладку і натискає кнопку Пошук, вкладці диктує області певного пошуку.  Він працює добре до цих пір.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Приклад: XSLT створення HTML Href в

Я робити кілька XSL речі останнім часом і думав, я б зібрав зразки для мого подальшого використання і які можуть бути корисними для всіх нас XSLT-ers заробляти на життя в Інтернет.

Розглянемо наступні XML:

<FdcSearchTabsCollection графа = "2">
  <SearchTab Label = "промисловості" SortOrder = "00" Label = "Промисловості" SearchConstraints = "contenttype:Промисловість" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <SearchTab Label = "практики" SortOrder = "01" Label = "Практики" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

Наступний фрагмент XSL буде генерувати відсортованого списку hrefs вкладки:

<перетворення XSL:матч шаблон = "FdcSearchTabsCollection" XML:простір = "Зберегти">
   
    <!– «Усе" Вкладка –>
    <a href = "javascript:ViewTab('Все')">Переглянути всі</на>
   
    <!– Кожен індивідуальний вкладку –>
    <!– Перебирати всі вкладки і правильне відображення  посилання. –>
    <перетворення XSL:для кожного виберіть = "SearchTab">
      <перетворення XSL:Начебто select="@SortOrder"/>

      …
      <a href = "javascript:ViewTab(‘{@TabID}’)"><перетворення XSL:значення з select="@Label"/></на>
    </перетворення XSL:для кожного>

    <br /> 
   

   </перетворення XSL:Шаблон>

Ось як виглядає в SharePoint:

SNAGHTML78aa2cb

 

 

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin