Мне нужно загрузить шаблон в ASP. NET ListView
в зависимости от типа объекта. Однако мне нужно передать параметры этому ItemTemplate
перед его загрузкой. Шаблон элемента, который загружается в представление списка, является .ascx
пользовательским элементом управления.
ITemplate template = Page.LoadTemplate("~/Controls/Questions/TrueFalse.ascx");
listView.ItemTemplate = template;
Я пробовал кастовать template
как UserControl
или TrueFalse
(тип загружаемого пользовательского элемента управления), но оба преобразуются в ноль.
Мне нужно передать объект с информацией для отображения элемента управления. Например, в этом случае вопрос является вопросом True / False, поэтому шаблону будет передан объект Question
, который содержит текст вопроса плюс, является ли ответ истинным или ложным. Будут другие типы вопросов, такие как множественный выбор, короткий ответ и т. Д. c. Каждый из них должен отображаться с другим шаблоном. Как передать информацию этому ItemTemplate
в ListView
?
Я использовал это решение для изменения шаблонов в соответствии с типом данных. Я могу отображать различные шаблоны в зависимости от типа данных; Я просто не знаю, как загрузить шаблон в виде элемента списка при передаче ему данных.