在我的代码隐藏中,我有:
List<Products> products =
rptr.Datasource = products;
protected string GetVariants(Product product)
{
//
}
在我的中继器中,我有:
<itemTemplate>
<li> <%# Eval("Name") %>
<li> <%# GetVariants(?????????????) %>
</itemTemplate>
如何将产品对象传递给GetVariants方法?
答案 0 :(得分:6)
(Product)Container.DataItem
应该做的伎俩
答案 1 :(得分:3)
而不是从标记页面回调一个方法,而不是创建一个用于绑定Repeater的新类?这样就可以避免这个问题。
public class RepeaterItem
{
public string Name;
public string Variants;
}
然后将Repeater与新数据源绑定:
List<Products> products = //Get Products
List<RepeaterItem> repeaterItems = new List<RepeaterItem>();
foreach(var product in products)
{
repeaterItems.Add(
new RepeaterItem
{
Name = product.Name,
Variants = GetVariants(product)
});
}
rptr.DataSource = repeaterItems;