如何在html.ascx中显示UserControl的集合?

时间:2015-06-18 12:38:15

标签: c# html asp.net .net ascx

我创建了一个用户控件列表,这些控件使用相同的界面来填充每张卡中的数据字段,具体取决于数据对象的标签。我遇到的问题是我不知道如何在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?

1 个答案:

答案 0 :(得分:0)

解决方案是在HTML中使用占位符并创建用户控件的实例以将其加载到后面的代码中,然后将其添加到占位符中。

case "Employee":    
     empsumCardUserControl ec = (empsumCardUserControl)LoadControl("~/View/empsumCardUserControl.ascx");
     ((ICard)ec).Populate(entityObject);
     PlaceHolder1.Controls.Add(ec);
     break;