2012-11-07 21 views
0

在我隱藏我:如何將整個對象傳遞給中繼器中的函數?

List<Products> products = 
rptr.Datasource = products; 


protected string GetVariants(Product product) 
{ 
    // 
} 

在我的中繼器,我有:

<itemTemplate> 

<li> <%# Eval("Name") %> 
<li> <%# GetVariants(?????????????) %> 

</itemTemplate> 

我如何通過產品對象的GetVariants方法?

回答

6

(Product)Container.DataItem應該做的伎倆

+1

可能需要投了這一點。 – Rawling

+0

當然,使用當前代碼隱藏方法,在調用之前需要進行投射。我會編輯我的建議 –

3

而不是調用回的方法從您的標記網頁的,怎麼樣創造了結合您的轉發器一個新的類?這一起避免了這個問題。

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; 
相關問題