asp.net c#在数据中继器中有条件

时间:2012-02-27 21:35:16

标签: asp.net .net image conditional

我想做一些非常简单的事情,只有当我有当前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页面中使用一些简单的条件语句吗?非常感谢!

2 个答案:

答案 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>