如果从数据库返回任何内容,我希望在屏幕上输出一个Button。以下是我想要实现的目标:
<%# IfEmpty(Eval("Link1URL"), "", "<a href="<%#Eval("Link1URL")%>" class="btn"> <%#Eval("Link1Title")%> </a>")) %>
我在这里要说的是,如果字段Link1Url
为空,则不显示任何内容。否则,显示<a>
标记,Link1URL
字段为href
。
这不适用于内部宏:<a href="<%#Eval("Link1URL")%>
会使外部IfEmpty
宏出现问题。
如何解决此问题?
答案 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。
剧透所有这些方法都很糟糕。