这是在Sitecore 7.2和C#中。
我在1 div中使用3个字段,我无法弄清楚如何在输入字段时显示每个字段。所以我的田地是牛排,培根和鸡蛋。所有这些都是富文本编辑器。所以,假设在加载页面时加载了牛排。当用户将文本输入培根或鸡蛋时,我该怎么做,以便将牛排变为display:none;并显示用户输入的字段?我不确定这是javascript还是后端C#。
假设我有一个模板与Sitecore中创建的控件一起使用所需的字段,当有人进入该字段并发布时,它将以HTML格式显示。
<div class="container">
<div class="steak" id="steak"><sc:FieldRenderer FieldName="Steak" runat="server" /></div>
<div class="bacon" id="bacon"><sc:FieldRenderer FieldName="Bacon" runat="server" /></div>
<div class="eggs id="eggs"><sc:FieldRenderer FieldName="Eggs" runat="server" /></div>
</div>
答案 0 :(得分:2)
如果您不需要class和id属性(将其设置为.container div
),则可以使用fieldrenderer的封闭标记属性:
<div class="container">
<sc:FieldRenderer FieldName="Steak" EnclosingTag="div" runat="server" />
<sc:FieldRenderer FieldName="Bacon" EnclosingTag="div" runat="server" />
<sc:FieldRenderer FieldName="Eggs" EnclosingTag="div" runat="server" />
</div>
如果填充了该字段,则文本将使用div标签包装,否则不会呈现任何内容。
答案 1 :(得分:1)
您可以使用围绕每个<asp:PlaceHolder/>
的{{1}}控件来实现此目的:
<div>
我已在此处显示设置ascx标记的可见性,但如果您愿意,可以通过代码隐藏轻松完成。此外,理想情况下还应检查页面编辑模式,以确保在页面编辑器模式下始终显示占位符(这涉及检查属性<asp:PlaceHolder Visible='<%#!string.IsNullOrWhiteSpace(Sitecore.Context.Item["Steak"])%>' runat="server">
<div class="steak">
<sc:FieldRenderer FieldName="Steak" runat="server"></sc:FieldRenderer>
</div>
</asp:PlaceHolder>
)。