【发布时间】:2015-06-18 12:38:15
【问题描述】:
我创建了一个用户控件列表,这些控件使用相同的界面来填充每个卡片中的数据字段,具体取决于数据对象的标签是什么。我遇到的问题是我不知道如何在 html 页面中显示这个对象集合。
var compiledList = new List<ICard>();
foreach (DataResult entityObject in entityList)
{
switch (entityObject.Label)
{
case "Employee":
//create control as ICard
ICard usrControl = new empsumCardUserControl(entityObject) as ICard;
((ICard)usrControl).Populate();
compiledList.Add(usrControl);
break;
}
}
如何在我的 HTML 页面的格式化部分显示已编译列表?
【问题讨论】:
-
所以
compiledList是用户控件的集合,您想在一个 .aspx 页面上显示所有这些控件吗? -
是的,完全正确。把它想象成一堆需要在页面上一起显示的小框搜索存根。例如:您正在搜索红色的车辆,然后返回一堆搜索结果,包括汽车(唯一用户控制)、卡车(唯一用户控制)和轻便摩托车(唯一用户控制)的存根。它们将显示在网页上的某种容器中。
-
你试过
asp:Repeater控制吗? -
如何将Repeater控件附加到compiledList?
-
你想错了。 Repeater 是 aspx 页面上的一个控件,您需要为其定义一个 ItemTemplate。这可以是您的 CustomControl。然后你只需要用数据填充它。