我想做一些非常简单的事情,只有当我有当前DataItem的值(即非NULL)时才显示asp:image。
如下所示,Image1只应在Image1(即Eval(“Image1”))的值时输出,该值是当前DataItem中的一个字段。
<asp:PlaceHolder ID="NewsPlaceHolder" runat="server">
<asp:Repeater ID="NewsRepeater" runat="server">
<ItemTemplate>
<div class="newsItem">
<h3><%# Eval("Title") %></h3>
<div class="images">
<asp:Image ID="Image1" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),1) %>' />
<asp:Image ID="Image2" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),2) %>' />
</div>
<div class="content"><%# Eval("Content") %></div>
</div>
<br class="clear" />
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
我可以在ASPX页面中使用一些简单的条件语句吗?非常感谢!
答案 0 :(得分:6)
您可以尝试检查代码隐藏是否为空
<asp:Image ID="Image1" runat="server" visible='<%# HasData(Eval("image")) %>' ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),1) %>'
C#
public bool HasData(object img)
{
if(img!=null) {return true;}
return false;
}
答案 1 :(得分:1)
@ aspx page。
<div class="images">
<asp:Image ID="Image1" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),1) %>' Visible = '<%#(Container.DataItem != null) ? true: false) %>' />
<asp:Image ID="Image1" runat="server" ImageUrl='<%# UrlHelper.NewsImageUrl((int)Eval("Id"),2) %>' Visible = '<%#(Container.DataItem != null) ? true: false) %>' />
</div>