2014-10-29 16 views
0

如果沒有從查詢返回的結果,我正在尋找隱藏整個內容搜索web部件(包括Web部分標題和邊框區域)的方法。當沒有結果返回時隱藏/刪除內容搜索Web部件SharePoint 2013

我試了一下

  1. 有此屬性:「ShouldHideControlWhenEmpty」,但在沒有結果時,不會做任何事情。 webpart仍然可見。 Webpart有一個標題和它周圍的邊框,所以當沒有結果時,標題和邊框會顯示無結果。就像我說的那樣,我想在這種情況下隱藏整個事情。

  2. 寫了一個jQuery腳本,它搜索文本「沒有結果」消息(當沒有結果時它來自web部件)並隱藏了webpart。但是,頁面加載後會出現短暫的閃爍,因爲Webpart首先被瞬間渲染,然後憑藉我的jQuery腳本消失 - 這不是很棒的UI體驗。

  3. 所以我想我可以擴展OOTB ContentBySearchWebPart並獲得一些可以讓我得到結果數的屬性。如果結果計數爲0,那麼我會隱藏webpart服務器端。我在網上查看了文檔 - 沒有發現我可以利用。 幫助?謝謝!

回答

0

選項使用jQuery將被罰款2,但只是翻轉你現在正在做的辦法。相反,如果隱藏的空web部件的,使默認隱藏的web部件,可見只有當內容可用。這是方法。

  1. 默認情況下,添加一個內容編輯器/腳本編輯器webpart,其中隱藏CSS代碼(記住只是標記display none/visible false,不要刪除)內容搜索Web部件。將樣式代碼放置在內容搜索Web部件上方以確保何時頁面加載內容搜索Web部件不可見。
  2. 在頁面加載期間,檢查內容搜索Web部件是否包含結果,如果Web部件包含結果,則使Web部件可見。在這裏,您將搜索文字「沒有結果」的消息,如果目前你什麼也不做,否則你做的WebPart可見的,因爲它意味着有可用的搜索結果。

這樣,您將消除目前的做法輕彈問題。

相關問題