【发布时间】:2020-05-24 03:08:18
【问题描述】:
我需要根据对象的类型将模板加载到 ASP.NET ListView。但是,我需要在加载之前将参数传递给 ItemTemplate。加载到列表视图中的项目模板是 .ascx 用户控件。
ITemplate template = Page.LoadTemplate("~/Controls/Questions/TrueFalse.ascx");
listView.ItemTemplate = template;
我尝试将template 转换为UserControl 或TrueFalse(加载的用户控件的类型),但都转换为null。
我需要传递一个带有信息的对象以供控件显示。例如,在这种情况下,问题是真/假问题,因此模板将传递一个 Question 对象,其中包含问题文本以及答案是真还是假。还会有其他问题类型,例如多项选择、简答等。每个问题都需要使用不同的模板显示。如何将信息传递给ListView 中的ItemTemplate?
我一直在使用this solution 根据数据类型更改模板。我可以根据数据的类型显示不同的模板;我只是不知道如何在将数据传递给模板时将模板加载为列表视图项。
【问题讨论】:
标签: asp.net listview itemtemplate