在我的codebehind中我有:
List<Products> products =
rptr.Datasource = products;
protected string GetVariants(Product product)
{
//
}
在我的中继器中,我有:
<itemTemplate>
<li> <%# Eval("Name") %>
<li> <%# GetVariants(?????????????) %>
</itemTemplate>
如何将产品对象传递给getVariants方法?
(Product)Container.DataItem
应该做技巧
而不是从标记页面回到方法中,如何创建一个新类来绑定中继器?这避免了所有问题。
public class RepeaterItem
{
public string Name;
public string Variants;
}
然后用新的数据源绑定中继器:
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;