in Sitecore我有一個模板,我創建了一堆FieldRenderer。基本上有時價值沒有被填充,所以我想隱藏其中的div,我會怎麼做呢?sitecore如果FieldRenderer沒有值,不要顯示它
回答
有幾種方法取決於你使用它的頻率。
- (以構建非數據綁定模板化服務器控件here is a tutorial跳直)創建一個自定義模板控件調用CustomFieldRenderer到你可以將顯示模板。在這種情況下該屬性返回空白,您可以隱藏整個控制
- 如果只有單個頁面我會創建一個文本,並從代碼中設置背後的價值這樣
的HTML將
<asp:Literal Mode="PassThrough" runat="server" Id="SitecoreField">
<div>{0}</div>
</asp:Literal>
後面的代碼會是這樣
string value = FieldRenderer.Render(Sitecore.Context.Item, "FieldName");
SitecoreField.Visible = string.IsNullOrEmpty(value) == false;
SitecoreField.Text = string.Format(SitecoreField.Text, value);
嗨馬託,感謝您的答覆。在開始工作時遇到一些麻煩,認爲我對某件事產生了誤解!使用以下: 的
您似乎缺少佔位符{0}。字面應該是' {0}
啊哈!謝謝,非常感謝! – David 2012-01-05 15:59:09
這是假設的背景項目,但需要在您的方案更改的項目參考:
在ASCX:
<asp:Panel ID="pnlMyField" runat="server">
<sc:FieldRenderer FieldName="My Field" runat="server" />
</asp:Panel>
在ascx.cs:
pnlMyField.Visible = !string.IsNullOrEmpty(Sitecore.Context.Item["My Field"]);
我創建了一個控制專門用於此目的。基本上和Mark的答案一樣,但不需要代碼隱藏。
<e:Enclosure runat="server">
<div>
<sc:FieldRenderer runat="server" FieldName="My Field" />
</div>
</e:Enclosure>
現在,當FieldRenderer沒有任何輸出時,div也不會顯示。 代碼和更多的解釋可以在我的博客上找到:http://wensveen.wordpress.com/2011/05/27/toggling-boilerplate-html-visibility-in-asp-net/
對不起,無恥的插頭,但我認爲這可能會有所幫助。
如果是無恥的話,不要後悔;) - 感謝鏈接/帖子。好東西。 – al3xnull 2013-02-08 14:17:16
- 1. Sitecore的FieldRenderer返回
- 2. 如果它沒有顯示如何顯示,視圖不可見?
- 3. Sitecore - 標準值不顯示
- 4. 將NVelocity與Sitecore FieldRenderer配合使用
- 5. 在Sitecore的相關FieldRenderer例外8
- 6. 如果沒有找到,顯示值「 - 」
- 7. 如果沒有要顯示的行,Reporting Services將顯示#Error。
- 8. 如果setView中沒有調用地圖,它不顯示地圖?
- 9. wordpress不顯示帖子,如果沒有自定義字段值
- 10. SQL。如果列沒有值,則不顯示行
- 11. 如果一個對象沒有值 - 不顯示
- 12. 如果內部UL沒有值,則不顯示外部div div
- 13. 如果某個字段沒有結果,則顯示空值
- 14. 不要顯示#VALUE!如果不計算
- 15. 只有顯示標籤控件,如果有消息要顯示
- 16. 引導顯示,如果它不是jquery
- 17. Pycharm沒有顯示結果
- 18. DataTreeListView顯示沒有結果
- 19. findObjectsInBackgroundWithBlock顯示沒有結果
- 20. JComboBox沒有顯示結果
- 21. 想要顯示零,如果總和或計數在列中沒有值
- 22. 如果字段爲空在sitecore中不顯示
- 23. jQuery flot - 當沒有值時不要在yaxis上顯示-1
- 24. 如何顯示零或日期值,如果沒有記錄顯示
- 25. 不要顯示,如果字段爲空
- 26. 不要顯示這個,如果iPad/iPhone
- 27. 如果沒有任何價值,您如何排除列顯示?
- 28. ngModel不顯示它的值
- 29. ExpressionEngine如果沒有分類結果,則不會顯示
- 30. WordPress的,如果沒有循環的結果,不顯示標題
你使用的是用戶控件還是xslt? – marto 2012-01-05 12:35:10
嗨馬託,使用用戶控件 – David 2012-01-05 12:51:15