代码:
<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语句和运算符||但问题是DataBinder.Eval。我找不到可以帮助我的答案。有人能帮我吗?是否有一些较短的解决方案&#34;短的如果&#34;(a == c?b:c)或某些解决方案与asp:repeater :)
答案 0 :(得分:0)
在绑定到转发器之前过滤数据将是最佳解决方案。 但是,您可以订阅ItemDataBound事件并决定隐藏或显示特定项目。
在事件处理程序中,您可以执行
e.Item.Visible = false;