如何在Eval返回null时删除超链接的额外空间

本文关键字:超链接 空间 删除 Eval 返回 null | 更新日期: 2023-09-27 18:14:09

我有这个超链接:

    <asp:Hyperlink ID="LinkID" runat="server" NavigateUrl='<%# Eval("filename","~/Download.aspx?file={0}") %>' Visible='<%# !Eval("filename").Equals(DBNull.Value)%>' Text="Download file"></asp:Hyperlink>

如果我在那里添加style="display:none",那么它就会一直消失。我只希望在Visible的条件为false时释放空间。

如何在Eval返回null时删除超链接的额外空间

将HyperLink嵌套在服务器div标签中(div with runat="server"),并将div的可见性绑定到条件中,如下所示:

<div id="myDiv" runat="server" visible='<%# !Eval("filename").Equals(DBNull.Value)%>'>
    <asp:Hyperlink ID="LinkID" runat="server" NavigateUrl='<%# Eval("filename","~/Download.aspx?file={0}") %>' Visible='<%# !Eval("filename").Equals(DBNull.Value)%>' Text="Download file"></asp:Hyperlink>
</div>

也许Eval("filename")是一个字符串?在这种情况下,它的值将简单地为null""

Visible='<%# !string.IsNullOrEmpty(Eval("filename"))%>'

可以肯定的是,您可以打印<%#Eval("filename").GetType().FullName%>并检查它的类型,如果它抛出异常,意味着Eval("filename")null