我正在从代码隐藏中填充Listview控件。
有没有人知道我可以为表格单元格分配css样式的方式,是说最低价格大于亚马逊价格?
<asp:ListView ID="lv1" runat="server" ItemPlaceholderID="itemPlaceholder" OnPagePropertiesChanging="ChangePage">
<LayoutTemplate>
<table id="dataTable">
<thead>
<tr>
<th class="t-left">Product Title</th>
<th>SKU</th>
<th>Our Price</th>
<th>Amazon Price</th>
<th>Lowest Price</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="dataResults" >
<tr id="itemPlaceholder" runat="server"></tr>
</tbody>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id='<%#Eval("sku") %>'>
<td class="t-left" width="360px">
<asp:HyperLink ID="prodLnk" runat="server" NavigateUrl='<%#"~/product/editproduct.aspx?sku=" + Eval("sku") %>' ToolTip="Edit this product listing">
<asp:Label runat="server" ID="lblTitle"><%#Eval("title") %></asp:Label>
</asp:HyperLink>
</td>
<td><asp:Label runat="server" ID="lblSku"><%#Eval("sku") %></asp:Label></td>
<td><asp:Label runat="server" ID="lblTWE">£<%#Eval("twePrice") %></asp:Label></td>
<td class="amzprice-edit"><input type="text" id='<%#"txt" + Eval("sku") %>' value='<%#Eval("amzPrice") %>'> </td></td>
<td>
<asp:Label runat="server" ID="lblLow">£<%#Eval("lowprice")%></asp:Label>
<a href='<%#"lowpricedata.aspx?sku=" + Eval("sku") %>' id="lnkInfoGrpah" class="link-to info-graph" data-fancybox-type="iframe"><img src="images/icons/graph-icon.png" alt="Info" title="View Lowprice History" /></a>
</td>
<td><div class="twe-button mini update">Update</div></td>
</tr>
</ItemTemplate>
</asp:ListView>
答案 0 :(得分:1)
最简单的方法是在对象/数据源中添加一个额外的属性,然后在数据绑定阶段使用它。
例如,创建一个名为LowestPrice
然后,您可以在数据绑定时对此进行评估:
class='<%# Eval("LowestPrice") == true ? "BuyMeNow" : "BuyMeLater" %>'
上面的例子会变成:
<ItemTemplate>
<tr id='<%#Eval("sku") %>' class='<%# Eval("LowestPrice") == true ? "BuyMeNow" : "BuyMeLater" %>'>
<td class="t-left" width="360px">
<asp:HyperLink ID="prodLnk" runat="server" NavigateUrl='<%#"~/product/editproduct.aspx?sku=" + Eval("sku") %>' ToolTip="Edit this product listing">
<asp:Label runat="server" ID="lblTitle"><%#Eval("title") %></asp:Label>
</asp:HyperLink>
</td>
<td><asp:Label runat="server" ID="lblSku"><%#Eval("sku") %></asp:Label></td>
<td><asp:Label runat="server" ID="lblTWE">£<%#Eval("twePrice") %></asp:Label></td>
<td class="amzprice-edit"><input type="text" id='<%#"txt" + Eval("sku") %>' value='<%#Eval("amzPrice") %>'> </td></td>
<td>
<asp:Label runat="server" ID="lblLow">£<%#Eval("lowprice")%></asp:Label>
<a href='<%#"lowpricedata.aspx?sku=" + Eval("sku") %>' id="lnkInfoGrpah" class="link-to info-graph" data-fancybox-type="iframe"><img src="images/icons/graph-icon.png" alt="Info" title="View Lowprice History" /></a>
</td>
<td><div class="twe-button mini update">Update</div></td>
</tr>
</ItemTemplate>
当BuyMeNow
为真时,将LowestPrice
类应用于该行。