在asp.net中使用if with eval(“”)

时间:2011-04-13 12:49:12

标签: .net asp.net if-statement repeater eval

我正在使用转发器在新闻栏目上显示新闻。在我的新闻栏目中,我有2个标签(标题,描述)和一个图像字段。下面是我用来填充转发器的代码:

<asp:Repeater ID="rptNews" runat="server">
<ItemTemplate>
<asp:Image ID="newsImage" runat="server" ImageUrl='<%#String.format("../Images/News/{0}", Eval("newsImage")) %>' />
<asp:Label ID="newsTitle" runat="server" Text='<%#Eval("newsTitle") %>'></asp:Label>
<br />
<asp:Label ID="newsDescription" runat="server" Text='<%#Eval("newsDescription") %>'></asp:Label>
<br />
<div class="clear">&nbsp;</div>
</ItemTemplate>

</asp:Repeater>

我想使用if语句,例如,如果Eval(“newsImage”)为null,那么我想禁用图像控件,只显示新闻的标题和描述。关于如何实现这一点的任何建议。

2 个答案:

答案 0 :(得分:17)

应该像... Visible='<%# Eval("newsImage").ToString() != "Null" %>'

<asp:Image ID="newsImage" runat="server" Visible='<%# Eval("newsImage").ToString() == "Null" %>'  ImageUrl='<%#String.Format("../Images/News/{0}", Eval("newsImage")) %>' />

答案 1 :(得分:1)

将Visible属性添加到Image标记:

   Visible="<%# Eval("newsImage") != null %>"

虽然在这种情况下使用ItemDataBound事件可能更好,但它很容易使用。