Tag Archives: јКуери

КССЛТ и јКуери Узорци

Ја сам радио много од КССЛТ и јКуери и помислио бих поделим неколико исечака које други могу бити од користи у будућности.

Пример 1: Емит једноставан ЈаваСцрипт / јКуери у КССЛТ:

<клс:template match="something" КСМЛ:space="preserve">

  <!– Празнина се упита пријатељски филтери скривено поље –>
  <script type="text/javascript">
    $(документ).спреман(функција(){
      $("#QueryFriendlyFilters").val("empty");
    });
  </скрипта>

</клс:шаблон>

That bit emits some JavaScript that waits for the page to finish loading (because of the $(документ).спреман(...)) and then sets the value of a hidden field named QueryFriendlyFilters to the literal value “empty”.

Пример 2: Коришћење <клс:ако> to check “greater than”“less than”, итд.

<клс:template match="something" КСМЛ:space="preserve">

  <div id="fdcAllFilters">
 
    <клс:if test="@Count>0">
      <span class="fdcFilterLabel">Current filters:</распон>
    </клс:ако>

    <!– more stuff happens here. –>

</клс:шаблон>

The above snippet checks to see if an attribute named “Count” of the “something” element is greater than zero.  The XML behind this would be something like:"

<something Count=”5” />

Пример 3: Iterate through all elements, interspersing jQuery calls.

<!– Iterate through all the filters and display the correct  линкови. –>
<клс:for-each select="UserFilter">

  <a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,'{@ ИД}’)">[X]</a>

  <span class="fdcFilterLabel"><клс:value-of select="@FilterValue"/></распон>

  <script type="text/javascript">

    $(документ).спреман(функција(){
        <клс:текст><![ЦДАТА[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></клс:текст>\"<клс:value-of select="@FilterValue"/>\"<клс:текст><![ЦДАТА["));]]></клс:текст>
    });

  </скрипта>

</клс:-за сваки>

The above snippet is the most complex and there may be easier ways to do it.

The XML behind this looks roughly like this:

<UserFilter ID=”123” FilterValue=”xyzzy” />

This snippet is iterating through <UserFilter> nodes. 

It first emits an anchor tag that when clicked invokes a JavaScript function that is already on the page, “mySubmitPage” and passes the value of an attribute on the <UserFilter> node named “ID”. 

It then emits some jQuery that waits for the page to load.  That jQuery updates a hidden field named “QueryFriendlyFilters” by adding the value of the FilterValue attribute.  Note all the crazy <клс:текст> и <![ЦДАТА[ ... ]]> stuff.

That’s it, Надам се да помаже!

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛистИтемс и фасцикле

Ја сам истраживао за некога данас око лист.асмк веб услугу као део СхареПоинт 2010 (и раније).  Она је била у стању да ставке листе на основној фасцикли (укључујући и имена субименике), али није могао да ставке у под-директоријумима.  Мало сам гледала около на интернетс и то је изненађујуће често питање.  Још, Нисам могао добити добар одговор на једноставно питање, "Ако ја знам фасциклу, како могу добити ставке у фасцикли?"  Да будем искрен, Нисам пробао све то тешко, јер сам хтео да схватимо ово сама за неко време Осмех.

Да бисте подесили ово, Направио сам сајт под називом "Сценарији блоггинг" и прилагођене листе по имену "Цустом Списак са под фасциклама".  Тада сам створио фолдере именоване:

  • Година 2005
  • Година 2006
  • Година 2007

Додао сам неколико ставки у фасцикли "Година 2006".  То је оно што изгледа:

image

Мој пријатељ не пише Ц # кода, већ користите Јава, па САПУН коверта је оно што је заиста потребно.  Да би се то, Написао сам мало јКуери а затим користи Фиддлер да бисте добили Стварни ХТТП разговор.

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

image

Прво су кључ је да се укључе и <куериОптионс> и <КуериОптионс> чвор.  Други кључ је у томе <Фасцикла> чвор је УРЛ адреса на коју клијент има приступ.

Постоје и други начини да се ово, али ово је добро радио за мене када се користи јКуери.

Овде је САПУН коверта за горе:

<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’>                
  <соапенв:Тело>
    <ГетЛистИтемс КСМЛнс =’
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’>
      <листнаме>Прилагођену листу са под фасциклама</листнаме>
      <виевФиелдс>  
        <ВиевФиелдс>
          <ФиелдРеф Име = 'Наслов’ />
          <ФиелдРеф Име = 'ЕнцодедАбсУрл’ />
        </ВиевФиелдс>
      </виевФиелдс>
      <куериОптионс>
        <КуериОптионс>
          <Фасцикла>
хттп://демосервер1/Блоггинг Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла>
        </КуериОптионс>
      </куериОптионс>
   
</ГетЛистИтемс>
  </соапенв:Тело>
</соапенв:Коверат>

Много примера и дискусија око овог ме је навело да верујем да све што ми треба је <КуериОптионс> и наведите име фасцикле.  За мене, Морам да га замотати у оба <куериОптионс> као и навести потпуно квалификовано УРЛ <Фасцикла> чвор.

Ево јКуери АЈАКС подешавање:

$(документ).спреман(функција() {
       био соапЕнв =
           "<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’> \
               <соапенв:Тело> \
                    <ГетЛистИтемс КСМЛнс =’хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’> \
                       <листнаме>Прилагођену листу са под фасциклама</листнаме> \
                       <виевФиелдс> \
                           <ВиевФиелдс> \
                              <ФиелдРеф Име = 'Наслов’ /> \
                              <ФиелдРеф Име = 'ЕнцодедАбсУрл’ /> \
                          </ВиевФиелдс> \
                       </виевФиелдс> \
                       <куериОптионс> \
                         <КуериОптионс> \
                           <Фасцикла>http://demoserver1/Blogging Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла> \
                         </КуериОптионс> \
                       </куериОптионс> \
                   </ГетЛистИтемс> \
               </соапенв:Тело> \
           </соапенв:Коверат>";

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Бескрајно Гнезде <див> Ознаке и јКуери

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

Радим на пројекту се где сам вуче неке податке од претраге, паковање га у КСМЛ поруке и да КСМЛ се на крају претвара у ХТМЛ путем КССЛТ.  Има много јКуери укључен, један бит који имплементира неке таббинг функционалност.  Када кликнете на картицу (заиста, a <див>), јКуери позива сакрити.() и шоу.() на разним ДИВС (почетна страница оптерећење преузима сав садржај, па нема постбацкс у овом случају).

Гомила сати, табова логика почео чудно да се понаша, а он не приказује једну од мојих картица.  И на крају га пратио на чињеницу да Интернет Екплорер (најмање) мислили да <див> ознаке угнездио далеко, далеко дубље од интендед.Тхе програмера палети ће показати:

-<див ид = "Таб1Цонтент">
  -<див>
    -<див>
      -<див ид = "Таб2Цонтент">
        -<див>
           ..............................
                   </див>  <-Коначно показује да је затворен скроз доле!

Тако, ако јесам $("# Таб1Цонтент").сакрити(), Такође бих сакрити Таб2 и ја никада не бих могао показати Таб2 ако нисам такође показују Таб1.  Копира и лепи код горе у Висуал Студио и то показује сву облагање див је лепо горе, баш као што је требало да раде, изгледа овако:

-<див ид = "Таб1Цонтент">
  +<див>
  +<див>
-<див ид = "Таб2Цонтент">
  +<див>
  +<див>

Победио сам главом о зид за неко време и приметио да у стварном ХТМЛ код је генерисање много празна <див> ознаке, као:

<тело>

  <див ид = "Таб1Цонтент">

    <див ид = "ров1" />
    <див ид = "ров2" />

  </див>

  <див ид = "Таб2Цонтент">

    <див ид = "ров1" />
    <див ид = "ров2" />

  </див>

</тело>

(Изнад је вааааааааааааи поједностављена.  Празне див ознаке су потпуно важећи. Неки од мојих <див> ознаке су биле пуне садржаја, али многи још нису били.  Дошао сам до закључка да је мој <клс:-за сваки> директиве су се емитује на кратак форма див тагове када клс:за-сваки нису "пронашли никакве податке.  Сам приморан ХТМЛ коментар на излазу, као што је приказано:

image

 

Након што сам то учинио, све див је постројио и лепо ми је пребацивање картица почела да ради.

Као и увек, Надам се да ово помаже некоме у невољи.

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Још више јКуери–Мењање величине пример слике

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

 

Добра слика

Лош имиџ

Ево означавање (нешто упрошћена):

<табела ЦЛАСС = 'продуженог Оутлоок'>
  <тхеад>
    <тр>
      <Тх  видтх = '100′>3 Уторак</Тх>
    </тр>
  </тхеад>

  <тд>
    <тр цласс = 'прогноза'>
      <тд видтх = '100′>
        <Ул>
          <ли цласс = 'хигх'>Висок: 72&степени;Ф</Ли>
          <ли цласс = 'мали'>Низак: 44&степени;Ф</Ли>
          <ли цласс = 'стање'>Сунчан
            <имг срц =’
хттп://десквк.веатхербуг.цом/имагес/Форецаст/ицонс/лоцализед/60×50/ен/транс/цонд007.пнг’ видтх = '42’ хеигхт = '42’ алт =” />
          </Ли>
        </Ул>
      </тд>
    </тр>

  </тд>

</табела>

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

У сваком случају, Желео сам брзо и једноставно решење за овај проблем, а ја окренуо јКуери.  Трик је био да пронађе све одговарајуће <имг> ознаке.  Ја нисам хтео да ленчарити са другим имг тагова (од којих су многи).  Ово мало јКуери сам успео:

<script type="text/javascript" срц ="хттп://ајак.гооглеапис.цом/ајак/либс/јкуери/1.5/јкуери.мин.јс"></скрипта>

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

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

Тај део кода проналази колекцију <Ли> ознаке чије класе је "стање" и <имг> деца.  Затим понавља кроз све то.  Радила је као шарм.

Вероватно сам могао да унапредите, али никада нисам био од оних који су решили уник момка π на 18 прецизност цифара помоћу сед и авк, а ја нисам такав момак или ако јКуери Осмех.

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Преузмите контролу над својим ОК и Цанцел дугме

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

image

Овај чланак описује како да натера невформ.аспк да преусмери на једну страну, када корисник кликне на дугме У реду, а другачије кад она кликне страна отказати.

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Брзо Савет: Додавање јКуери да Мосс Издаваштво Странице

When enhancing MOSS publising pages using jQuery, I hit the following speed bump:

Server Error in ‘/’ Апликација.


Парсер грешке

Опис: Дошло је до грешке током анализи од ресурса потребна да сервисира овај захтев. Молимо Вас да прегледате следеће конкретне детаље анализирати грешке и модификовати на одговарајући начин ваш изворни фајл.

Парсер Порука о грешци: Only Content controls are allowed directly in a content page that contains Content controls.

Извор Грешка:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Изворни фајл: /_catalogs/masterpage/KCC_FacultyMember.aspx    Линија: 12


Верзија Информације: НЕТ Фрамеворк верзија.:2.0.50727.4927; АСП.НЕТ Версион:2.0.50727.4927

It was easy enough to fix (h/t to my colleague, Uday Ethirajulu).  Be sure that the jQuery code lives inside the “PlaceHolderAdditionalPageHead” as shown:

<аспида:Content ContentPlaceholderID="PlaceHolderAdditionalPageHead" runat="server">

<скрипта

    type="text/javascript"

    src="/jQuery/jquery-1.4.min.js">

</скрипта>

<script type="text/javascript">

  $(документ).спреман(функција() {

   // Brilliant jQuery stuff goes here.

   });

</скрипта>

</крај>

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

Следите ме на Туиттер на http://www.twitter.com/pagalvin