我有一个 UserControl,它有一个包含照片列表的产品列表的属性。在.ascx
我有一个DIV
作为所有照片的容器。这就像现在一样工作。
<% foreach (var product in Products) { %>
<div class="product">
<div class="product-photos">
<% foreach (var photo in product.Photos) { %>
<img src="<%= photo.Url %>" alt="<%= product.Name %> Photo"/>
<% } %>
</div>
<!-- Other product markup/data here... -->
</div>
<% } %>
DIV
如果没有照片,我现在正试图隐藏。我的想法是让“产品照片”DIV
有一个runat="server"
并赋予它一个Visible
属性。这不起作用,因为它无法解析product
来自我的foreach
循环的变量。这似乎runat="server"
使循环中的变量foreach
无法访问,这没有意义,因为循环也必须在服务器上运行。
问题:当元素具有
如何访问foreach
内循环中?这甚至可能吗?如果不是,那么实现我想要的替代方法是什么?.as*x
runat="server"
ProductsControl.ascx.cs
public partial class ProductsControl: UserControl
{
public IList<Product> Products { get; set; }
}
产品.cs
public class Product
{
public IList<Photo> Photos { get; set; }
// Other properties here...
}