Что я обычно делаю, это просто ловлю внешний элемент в привязке к данным и сохраняю его в переменную на странице. Здесь у меня есть два последовательных повторителя. Я сохраняю год от первого повторителя, а затем могу ссылаться на него, когда связываю второй.
protected void repAnnualReport_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
CurrentYear = int.Parse(((Literal)e.Item.FindControl("litLicenseYear")).Text);
Repeater repLicenseLengths = (Repeater)e.Item.FindControl("repLicenseLengths");
repLicenseLengths.DataSource = GetLicenseLengths(CurrentYear);
repLicenseLengths.DataBind();
}
protected void repLicenseLengths_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
CurrentLength = int.Parse(((Literal)e.Item.FindControl("litLicenseLength")).Text) * 365;
Repeater repMonthlyReport = (Repeater)e.Item.FindControl("repMonthlyReport");
repMonthlyReport.DataSource = new object[12];
repMonthlyReport.DataBind();
}
Если ваша привязка к первому повторителю является списком классов или может быть запрошена, вы можете получить доступ к отдельному элементу, подобному этому, в первой строке.
SaveCurrentItem = (CurrentItemClass)e.Item.DataItem;