在Sitecore中,我创建了一个模板,其中包含一堆FieldRenderers。基本上,有时值未填写,所以我想隐藏它所在的div,我该怎么做呢?

最佳答案

有两种方法取决于您要使用它的频率。

  • 创建一个名为CustomFieldRenderer的自定义模板控件(here is a tutorial直接跳至构建非数据绑定(bind)模板服务器控件),您可以向其传递显示模板。如果该属性返回空白,则可以隐藏整个控件
  • 如果仅用于单个页面,我将创建一个文字,并像
  • 这样从后面的代码中设置值

    的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);
    

    关于field - siteField如果FieldRenderer没有值,请不要显示它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8742058/

    10-13 07:56