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:中继器:)的解决方案
在绑定到转发器之前过滤数据将是最佳解决方案。但是,您可以订阅 ItemDataBound 事件并决定动态隐藏或显示特定项。
请参阅MSDN上的此链接
在事件处理程序中,您可能可以这样做
e.Item.Visible = false;