簡體   English   中英

從兒童直放站獲得父母直放站

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM