Добавив обработчик в событие ItemDataBound (или другое подобное событие в элементе управления foo: X), вы можете получить доступ к элементам управления в шаблоне строки. Мой пример кода взят из DataList, поэтому ваши обработчики событий, вероятно, будут другими.
В коде позади - подключите обработчик события:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
foo.ItemDataBound += new DataListItemEventHandler(foo_ItemDataBound);
}
Затем в обработчике событий получите доступ к элементам управления в вашей строке. Возможно, ваши данные не являются DataRow, поэтому при необходимости измените их.
void foo_ItemDataBound(object sender, DataListItemEventArgs e)
{
Control fooY = (e.Item.FindControl("foo:Y") as Control); //Replace foo:Y with the ID for foo:Y
DataRow data = e.Item.DataItem as DataRow;
fooY.SomeProperty = data["id"];
}