我有一个 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*xrunat="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...
}