【问题标题】:Kentico Transformation - Macro within MacroKentico 转型 - 宏中的宏
【发布时间】:2014-01-29 16:37:06
【问题描述】:

如果数据库返回任何内容,我希望在屏幕上输出一个按钮。以下是我想要实现的目标:

<%# IfEmpty(Eval("Link1URL"), "", "<a href="<%#Eval("Link1URL")%>" class="btn"> <%#Eval("Link1Title")%> </a>")) %>

我想说的是,如果Link1Url 字段为,则不显示任何内容。否则,将带有Link1URL 字段的<a> 标记显示为href

这不适用于内部宏:<a href="<%#Eval("Link1URL")%> 将外部IfEmpty 宏搞砸了。

我该如何解决这个问题?

【问题讨论】:

    标签: transformation kentico


    【解决方案1】:

    我在宏中使用了 .Net string.IsNullOrEmpty 来帮助我接下来的逻辑:

    <%# !string.IsNullOrEmpty((string)Eval("Link2URL")) ? "<a href='" + Eval("Link2URL") + "'>" + Eval("Link2Title") + "</a>" : null %>

    【讨论】:

      【解决方案2】:

      对于更高级的场景,您可以使用asp:Placeholder

      这是一个例子:

      <asp:Placeholder runat="server" visible='<%# !String.IsNullOrEmpty(Eval("Foo").ToString()) %>' >
         <div class="foo-structure">
            ...
         </div>
      </asp:Placeholder>
      

      讨论了转换中的条件布局更改here

      剧透所有这些方法都是hacky。

      【讨论】:

        猜你喜欢
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-04
        • 1970-01-01
        • 2018-03-01
        • 1970-01-01
        • 2018-04-23
        相关资源
        最近更新 更多