В настоящее время я использую определенный ItemTemplate
для трех повторителей, которые все находятся на одной странице, но все они привязаны к разным источникам данных. Есть ли способ реорганизовать мою веб-форму без использования пользовательского элемента управления, чтобы легко ссылаться на этот шаблон, чтобы мне нужно было определить его только один раз?
ASP.NET: повторное использование одного и того же Repeater ItemTemplate
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
Я не совсем согласен. Для меня пользовательские элементы управления — это их собственные сущности, которые можно размещать где угодно и сохранять свое собственное состояние и т. д. Я искал что-то похожее на макрос.
- person Deniz Dogan; 11.03.2010