קינון אינסופית <div> תגיות ו- Mootools

זה נראה כמו נושא כלי יוצא דופן, אני לא בטוח שזה באמת שווה בלוגים אודות, אבל זה מעולם לא הפסיקה אותי לפני, אז הנה אנחנו הולכים חיוך

אני עובד על פרוייקט בו אני אני שליפת נתונים מסוימות לאחר חיפוש, אריזה זה לתוך הודעת ה-XML ולאחר מכן ב- XML הוא בסופו של דבר הופך HTML באמצעות ה-XSLT.  יש הרבה jQuery מעורב, סיבית אחת אשר מיישמת חלק מהפונקציונליות הטאבים.  בעת לחיצה על לשונית (באמת, של <div>), jQuery מפעיל להחביא() הראי() ב- divs שונים (עומס הדף ההתחלתי מוריד את התוכן כך ישנן פעולות postback אין במקרה זה).

חבורה של לפני שעות, הכרטיסיה מיתוג לוגיקה התחיל לשיבושים, זה מופיע באחת הכרטיסיות שלי.  אני בסופו של דבר הצליחו לקשר זאת העובדה שבה 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 בשורה יפה, מיתוג הכרטיסיה שלי התחיל לעבוד.

כמו תמיד, אני מקווה שזה עוזר למישהו בצרה.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

תיקון מהיר: "שם סוג התוכן ' משאבים$:ReportServerResources … אין אפשרות להכיל … תווים מיוחדים”

אני כבר לבלות זמן ניקוי SharePoint 2010 אחת הסוגיות ניקוי ואתר מתייחסת מושחתים / שירותי SQL Server דוח בעיה שמותקן בצורה שגויה.  הבעיה התעורר כאשר אחד מעמיתיי ניסה לשמור אתר כתבנית ולאחר מכן ליצור יצירת אתר חדש המבוסס על התבנית.  שמור פעולת עבד מצוין, אך כאשר היא ניסתה ליצור את האתר החדש, SharePoint מוצגת הודעת השגיאה הבאה:

שגיאה

שם סוג התוכן ' משאבים $:ReportServerResources,DataSourceContentTypeName;' אינו יכול להכיל: \ / : * ? “ # % < > { } | ~ & , שתי תקופות מעצר (..), או תווים מיוחדים כגון טאבים.

הנה כיפה מסך:

 

image

היה לראות סוגי התוכן באתר ומצאו זה:

image

סוגי תוכן אלה הם בבירור לא תקינים.

בעיה זו נראה שיבוא הרבה בלמצות, שם לא נראה שיש הסכמה כללית אחת כיצד לפתור אותה.  מצאתי טבלה בהישג יד שמיפו את שמות סוגי התוכן רע שמות סוגי התוכן טוב כאן: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  באופן ידני עדכנתי אותם thusly:

image

(BrightStarr שם הוא כמובן אופציונלי, אך אולי יתמזל מזלכם חיוך )

זה איפשר לי ליצור תבנית חדשה, שברו את דבר באתרים אחרים, כולל כמה דברים שרת PerformancePoint קבוצה שונה לחלוטין של אנשים עבדת.  לאחר מכן הצלחתי ליצור אתר חדש על התבנית.  הצלחה!

אני לא בטוח שזו 100% פתרון, אבל זה גרם לי, כל מי שעוסק אחרי זה מציק שגיאה.  אם אני מוצא שום דבר חדש, אני לפרסם עדכון.  עצבנות שלי נובע כי שמות אלה לא אמורה להיות שגוי מלכתחילה ועל -ידי תיקון שם התצוגה, אני אני לא לגעת שם פנימי. 

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב 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 זרקו אחד האהובים אי פעם חריגות זמן ריצה:

"היוצר של תקלה זו לא ציין סיבה."

אהבתי במיוחד את עיר הבירה "R" ההיגיון.  זה נשמע לי כמו.המקבילה נטו של"יש לי פה לא, ו חייב לצעוק.”

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

הפניה בהישג יד: ברירת המחדל תוצאות בחיפוש KeywordQuery

מתי להפעיל את ביצוע() שיטה ב- KeywordQuery, באפשרותך ליצור ResultTable מבוסס על ResultType.RelevantResults.  מקטע קוד זה ממחיש למה אני מתכוון:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

הטבלה שתיווצר תהיה את העמודות הבאות של מידע: 

מזהה
דרגה
כותרת
מחבר
גודל
נתיב
תיאור
כתיבה
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

אני נגזר רשימה זו SharePoint 2010 סביבה, מהדורה של הארגון.  בתקווה שזה יהיה שימושי למישהו בעתיד.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

אחת הסיבות: "נכשלה לחלץ את קובץ ה-cab בפתרון”

בעת עבודה ב- web part של visual studio פרוייקט היום, עשיתי של ארגוני-re משניות של קבצים מסוימים כדי לשים אותו בתוך התיקיה _ layouts כחלק מתהליך הפריסה. באופן ספציפי, שיניתי את שם קובץ .js מ- "TypeAhead.js" "TypeAhead(הישן).js"  אני מתכנן להסיר אותו ברגע הפעילות העוקבת שלה "TypeAhead.js" מוכיח הנכון.  הוא נראה כמו זה:

image

זה גרם בעיה עם visual studio מיד כאשר ניסיתי לפרוס את הפרוייקט:

אירעה שגיאה בשלב פריסה "פתרון להוסיף": נכשל לחלץ את קובץ ה-cab בפתרון.

מתברר כי לא מומלץ להכניס תו סוגריים בשמות קבצים.  הסרתי parens, אשר פתר את הבעיה.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

אבל נוספים, jQuery–שינוי גודל של תמונה לדוגמה

אני בירושה של ה-web part של הספק הישן של לקוח, ויש בעיה של גודל התמונה.  התמונות צריכה להיות 60×50 אך מסיבה כלשהי אי-זוגי, הספק המקורי אילצה אותם לתוך 42×42, כך שהם נראים squashed:

 

תמונה טובה

התמונה רע

הנה סימון (מעט פשוטה):

<טבלה class = 'מורחב-outlook'>
  <thead>
    <. tr>
      <th  רוחב ='100′>3 שלישי</th>
    </. tr>
  </thead>

  <tbody>
    <מחלקה tr = 'תחזית'>
      <td רוחב ='100′>
        <ul>
          <li class = "גבוה">גבוהה: 72&מעלות;F</li>
          <li class = "נמוכה">נמוך: 44&מעלות;F</li>
          <li class = 'תנאי'>סאני
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ רוחב = 42’ גובה = 42’ alt =” />
          </li>
        </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"></קובץ script>

<סקריפט סוג = "טקסט/javascript">
     $(המסמך).מוכן(פונקציה () {

         $(' li.condition > img').כל(פונקציה (אינדקס, פריט)
           
{
             $(פריט).css("רוחב", "60"); 
             $(פריט).css("גובה", "50");
            });
     }); // במשלוח המסמך
</קובץ script>

? פיסת קוד מוצא את האוסף <li> תגיות שלו הינה "תנאי", <img> . ילדים.  זה ואז סובבת בין כל זה.  עבד כמו קסם.

אני כנראה יכול לייעל את זה, אבל אף פעם לא הייתי בחור unix זה נפתר π כדי 18 דיוק ספרות באמצעות שקיעת דם ואתה תקבל את המגיע, ואני לא כזו אם jQuery? בחור חיוך.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

ניתוח מבנה XML עם LINQ

הנה דוגמא מהירה באמצעות LINQ לנתח כמה  XML ו- get-מתוק, מתוק תכונות המובא בזאת.

הנה אני רוצה לנתח את מבנה ה-XML:

<?גירסת xml = "1.0" קידוד = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <שם PageLayout = "xyzzy">
      <כרטיסיות>
        <בכרטיסיה סדר מעבר Tab = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <בכרטיסיה סדר מעבר Tab = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </כרטיסיות>
    </PageLayout>

    <שם PageLayout = "xyzzy2">
      <כרטיסיות>
        <בכרטיסיה סדר מעבר Tab = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <בכרטיסיה סדר מעבר Tab = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <בכרטיסיה סדר מעבר Tab = "103" TabLabel = z"" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </כרטיסיות>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

אני רוצה לבנות חלק מהכרטיסיות בזמן ריצה על-ידי ניתוח לעיל.  הכרטיסיות שלי תלויים פריסת דף.  אם השם של פריסת הדף שלי הוא "xyzzy2" אז אני רוצה לקבל כרטיסיות 100, 101 ו 103 (הכרטיסיות <שם PageLayout = "xyzzy2">).

הנה LINQ העושה זאת:

var allTabs =
              מ- p ב-
                  XElement.Parse(theXmlToParse).
                 
רכיבים("PageLayouts").
                  רכיבים("PageLayout")
              היכן (p.Attribute("שם").Value.Equals("xyzzy2"))
              מ- m p.Elements("לשוניות").רכיבים("Tab")
              בחר m;

          Results.Text = מחרוזת.ריק;

          foreach (var aTab ב allTabs)
          {
              Results.Text =
                  "סדר טאבים: " + aTab.Attribute("סדר מעבר Tab").ערך + " |" +
                  "תווית הכרטיסיה: " + aTab.Attribute("TabLabel").ערך + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").ערך + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").ערך + "r";
          }

לעיל, המשתנה "theXmlToParse" הוא משתנה מחרוזת, אך באפשרותך להשתמש העומס() שיטת בזרם אם אתה אוהב.

"תוצאות" הוא תווית בטופס אינטרנט והן בעת ביצוע קוד זה, זה נראה כך:

SNAGHTML11cd2e7c

לא הסתדר כיצד למיין את התוצאות עדיין, כך לעזוב את בבלוג בעתיד.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery, משתמשים אנונימיים

אני זמין גישה אנונימית באתר שלי כדי לבדוק החוצה חיפוש web part שאני כבר פיתוח וכדי לא הפתעה, זה ממש לא עובד.  גישה אנונימית היא די תמיד אתגר בשבילי.

במקרה זה, החיפוש הראשוני לא פועל מסיבה כלשהי.  הייתי אומרת שזה היה פועל אך היה אינו מחזיר תוצאות כלשהן.  אני משתמש KeywordQuery את זה לתצוגה ראשונית.

עשיתי חיפוש מהיר וזה בבלוג על-ידי".sowmyancs"הגיע במהירות: “SharePoint 2010 חיפוש: לא מציג תוצאות כלשהן עבור משתמשים אנונימיים?”  בבלוג מתאר את הבעיה החוצה הפרספקטיבה חיפוש מילת מפתח תיבת אך ההתנהגות היה דומה שלי-זה עבד עבור משתמשים שאומתו ועבור משתמשים אנונימיים, אבל משתמשים אנונימיים אין תוצאות. 

אני עשיתי את ההוראות ואת באנג!  זה פתר את הבעיה שלי.  אני לא בטוח מה זה יהיו תופעות לוואי והם עשויים להוכיח שיש בעיה, אבל התוצאה לטווח הקצר שימושי.

לחץ על דרך הבלוג:

image

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

SharePoint 2010 KeywordQuery ואת המאפיין HiddenConstraints

אני כבר עושה עבודה עם קצת KeywordQuery אובייקט ב- SharePoint 2010 תוך שימוש HiddenConstraints מאפיין.

לא מצאתי כל מידע שימושי מיד את המאפיין, אז חשבתי שהייתי במהירות לשרבט איך אני משתמש בו.

עד כמה אני יכול להגיד, זהו אילוץ מסוג אוטומטי שהוספו לשאילתה כך באפשרותך למיין של פארק זה יש ולאחר לא מוטרד מכך.  ככזה, היא רק עוד מילת מפתח (או קבוצת מילות מפתח) תווי חיוג מיוחדים שאתה מקליד בתיבה אל ממשק המשתמש בעת ביצוע חיפוש מילת המפתח.  הנה דוגמה:

keywordQuery.HiddenConstraints = "טווח:\"Industry" ";

באפשרותך להוסיף אילוצים נוספים עם מפריד רווח.

keywordQuery.HiddenConstraints = "טווח:\"Industry" הגנה";

לעיל הוא אומר באנגלית, "הפעלת שאילתה מילת מפתח מחפש"הגנה", יתרה מזאת, שימוש בטווח "תעשייה".

הנה דרך אחרת להסתכל על זה:

image

אני משתמש בו כדי לספק טווח אוטומטי תלויי-ההקשר ב מותאמים אישית של web part.  כאשר המשתמש לוחץ על כרטיסיה, לוחץ על לחצן חיפוש, הכרטיסיה מכתיבה טווח חיפוש מסוים.  שהוא פועל היטב עד כה.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

דוגמה: XSLT יצירת Href של HTML

אני כבר היה עושה קצת דברים XSL לאחרונה וחשבתי שאני אעשה יחד מדגם לעיון בעתיד שלי, זה לא ערך על כל אחד מאיתנו XSLT-ers כך את מחייתם למצות.

שקול את ה-XML הבאים:

<ספירת FdcSearchTabsCollection = "2">
  <תווית SearchTab = "התעשייה" SortOrder = התווית "00" = "תעשיות" SearchConstraints = "contenttype:תעשיית" TabID = "831b2a74-98c4-4453-8061-86e2fdb22c63" />
  <תווית SearchTab = "נהלים" SortOrder = התווית "01" = "מנהגים" SearchConstraints = "contenttype:PracticeGroups" TabID = "678e206b-6996-421f-9765-b0558fe1a9c0" />
</FdcSearchTabsCollection>

גזיר XSL הבאה תיצור רשימה ממוינת של כרטיסיות hrefs:

<xsl:התאמת תבנית = "FdcSearchTabsCollection" xml:שטח = "לשמר">
   
    <!– כל"" הכרטיסיה –>
    <href = "javascript:ViewTab('כל')">הצג הכל</של>
   
    <!– כל כרטיסיה בודדים –>
    <!– סוב בין כל הכרטיסיות ולהציג הנכון  קישורים. –>
    <xsl:עבור-כל בחירה = "SearchTab">
      <xsl:מיון select="@SortOrder"/>

      …
      <href = "javascript:ViewTab(‘{@ TabID}’)"><xsl:הערך של select="@Label"/></של>
    </xsl:עבור-כל>

    <br /> 
   

   </xsl:תבנית>

כאן הוא נראה ב- SharePoint:

SNAGHTML78aa2cb

 

 

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin