if statement with DataBinder.Eval

本文关键字:Eval DataBinder with statement if | 更新日期: 2023-09-27 17:55:19

代码:

<asp:Repeater ID="Repeater2" runat="server">
  <HeaderTemplate>
    <table cellspacing="0" cellpadding="0" border="0" width="100%">
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
    <td colspan="3" style="height: 1px; width: 100%; " align="center">
    <div style="height: 1px; width: 90%; background-color: #cccccc;"></div>
    </td>
    </tr>
       <% if (DataBinder.Eval(Container.DataItem, "productID").ToString() == "32668" || DataBinder.Eval(Container.DataItem, "productID").ToString() == "33829" || DataBinder.Eval(Container.DataItem, "productID").ToString() == "33831")
          { %>
    <tr>
      <td style="height: 132px; width: 25%; padding-left:20px;"><a href='product_detail_<%# DataBinder.Eval(Container.DataItem, "productID")%>.aspx'> <img src='<%= System.Configuration.ConfigurationManager.AppSettings["ProductImageUrl"] %>t_<%# DataBinder.Eval(Container.DataItem, "ProductImg")%>'
                                        border="0" /></a> </td>
      <td align="left" valign="top"><br>
        <a href='product_detail_<%# DataBinder.Eval(Container.DataItem, "productID")%>.aspx'> <font color="#000000"><b> <%# DataBinder.Eval(Container.DataItem, "ProductName")%> </b></font></a> <br />
        <br />
        <span class="detailSpan"> <%# DataBinder.Eval(Container.DataItem, "shortDesc")%> </span></td>
      <td style="width: 15%;" align="center"><b> <%# WebDirectBrands.Utility.FormatNumber(Convert.ToDecimal(DataBinder.Eval(Container.DataItem, "ProductPrice")))%> </b> <br />
        <br />
        <a href='product_detail_<%# DataBinder.Eval(Container.DataItem, "productID")%>.aspx'> <img src="images/Details-Link.gif" border="0" /></a> <br />
        <a href='add_to_cart.aspx?productid=<%# DataBinder.Eval(Container.DataItem, "productID")%>'> <img src="images/AddtoCart-Link.gif" border="0" style="margin-top: 5px;" /></a> </td>
    </tr>
      <% } %>
    <tr>
      <td colspan="3" height="15px"></td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </table>
  </FooterTemplate>
</asp:Repeater>

所以我有 40 件商品,我想在特色产品中只显示 3 件。 我想使用 if 语句和运算符 ||但问题是 数据绑定器.评估 .我没有找到可以帮助我的答案。 有人可以帮助我吗? 是否有一些较短的解决方案与"短如果"(a == c ?B : c) 或一些没有 ASP:中继器:)的解决方案

if statement with DataBinder.Eval

在绑定到转发器之前过滤数据将是最佳解决方案。但是,您可以订阅 ItemDataBound 事件并决定动态隐藏或显示特定项。

请参阅MSDN上的此链接

在事件处理程序中,您可能可以这样做

e.Item.Visible = false;