Я создаю богатый элемент управления ретранслятором, которому нужны некоторые элементы управления (в частности, только неупорядоченный список), добавленные к нему во время выполнения.
Решение, на которое я решил, заключается в том, чтобы внедрить nesseccary-разметку onInit в шаблоны заголовка, элемента и нижнего колонтитула соответственно.
Я могу получить шаблоны (используя InstantiateIn), а затем добавить разметку по мере необходимости, но я не знаю, как добавить шаблон обратно в ретранслятор?Как добавить элементы управления в ItemTemplate (Repeater) во время выполнения?
2
A
ответ
4
В прошлом я просто обработал ItemDataBound Event
и изменил текущий RepeaterItem
тем, что мне нужно было сделать.
Пример:
private void Repeater1_ItemDataBound(object Sender, RepeaterItemEventArgs e)
{
// Make sure you filter for the item you are after
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
PlaceHolder listLocation = (PlaceHolder)e.Item.FindControl("listPlaceHolder");
var subItems = ((MyClass)e.Item.DataItem).SubItems;
listLocation.Controls.Add(new LiteralControl("<ul>");
foreach(var item in subItems)
{
listLocation.Controls.Add(new LiteralControl("<li>" + item + "</li>"));
}
listLocation.Controls.Add(new LiteralControl("</ul>");
}
}
ли я быть в состоянии сделать это внутри составного элемента управления? – 2008-11-07 11:55:26