ASP.NET: повторное использование одного и того же Repeater ItemTemplate

В настоящее время я использую определенный ItemTemplate для трех повторителей, которые все находятся на одной странице, но все они привязаны к разным источникам данных. Есть ли способ реорганизовать мою веб-форму без использования пользовательского элемента управления, чтобы легко ссылаться на этот шаблон, чтобы мне нужно было определить его только один раз?


person Deniz Dogan    schedule 11.03.2010    source источник
comment
Если шаблон определен в разметке, он испортится, если другие элементы управления будут ссылаться на тот же шаблон, определенный ранее. Пользовательский элемент управления чист и был бы моим выбором в этом сценарии. Любая причина, почему вы не хотите контроля?   -  person Mikael Svenson    schedule 11.03.2010


Ответы (2)


да, это возможно, создайте еще один элемент управления asp.net (ascx), у которого есть повторитель, создайте общедоступный метод, который принимает таблицу данных (или список или элементы) и привяжите к нему повторитель, вы, вероятно, сделаете это за 10 минут.


public void BindData(DataTable dt)
{
    rpt.DataSource = dt;
    rpt.DataBind();
}

Это будет работать, если ваш dt имеет одинаковые имена столбцов.

person Prashant Lakhlani    schedule 11.03.2010

Нет. Вот почему существуют пользовательские элементы управления, чтобы инкапсулировать повторяющиеся визуальные компоненты.

person Oded    schedule 11.03.2010
comment
Я не совсем согласен. Для меня пользовательские элементы управления — это их собственные сущности, которые можно размещать где угодно и сохранять свое собственное состояние и т. д. Я искал что-то похожее на макрос. - person Deniz Dogan; 11.03.2010