Kentico转型 - 宏观中的宏观

时间:2013-06-07 09:39:15

标签: transformation kentico

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

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

我在这里要说的是,如果字段Link1Url 为空,则不显示任何内容。否则,显示<a>标记,Link1URL字段为href

这不适用于内部宏:<a href="<%#Eval("Link1URL")%>会使外部IfEmpty宏出现问题。

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

对于更高级的方案,您可以使用asp:Placeholder

以下是一个例子:

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

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

剧透所有这些方法都很糟糕。