[英]Get parent repeater from child repeater
我正在寫一個分解為年和月的鏈接列表,如下所示:
<ul>
<li>2012</li>
<ul>
<li>July (12)</li>
<li>June (8)<li>
(etc)
</ul>
<li>2011</li>
<li>July (7)</li>
(etc)
</li>
</ul>
我正在使用兩個直放站,一個用於年份(“ repYears”)和一個嵌套的直放站幾個月(“ repMonths”)。 在repYears的ItemDataBound事件期間,我對repMonths進行了數據綁定。 數據來自這些對象的通用列表:
public class ArchiveItem
{
public ArchiveItem(long Id, string Month, int Year)
{
PostId = Id;
Month = Month;
Year = Year;
}
public long PostId { get; set; }
public string Month { get; set; }
public int Year { get; set; }
}
到目前為止,我已經成功寫出了年月。
接下來,我需要計算每月項目的數量(即,從上面的HTML中的括號中填充數量)。
為此(在repMonths_ItemDataBound()期間),我需要知道repYears Repeater當前處於哪一年。 這將給我當前的月份和年份,然后我便可以計算出該月份和年份。
我可以像訪問ItemDataBound一樣輕松訪問當月,因此可以使用e.Item.DataItem。
那么如何從父Repeater訪問當前的DataItem值?
我不確定我是否明白這一點,因為您沒有顯示代碼。
如果您位於子轉發器的ItemDataBound
並且需要獲取對父項的DataItem
的引用,則可以使用NamingContainer
屬性:
在子中繼器的ItemDataBound
中:
var repeater = (Repeater)sender;
var parentItem = (RepeaterItem)repeater.NamingContainer;
var parentDataItem = parentItem.DataItem;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.