2010-11-03 6 views
1

У меня есть usercontrol (ascx), который я хочу динамически добавлять на страницу.Динамическое добавление пользовательского элемента управления на страницу

Ни элемент управления, ни страница не имеют пространства имен (спасибо crappy vendor).

Когда я использую следующий, он говорит мне, что не может найти «тип или пространство имен»

StayTunedControl = (UserControler_StayTuned)LoadControl("~/UserControler/StayTuned.ascx");   
Page.Controls.Add(StayTunedControl); 
StayTunedControl.StayTunedID = Convert.ToInt32(IncludesStayTunedMeta.Value); 

После некоторой настройки к пространствам имен, и т.д., теперь я в точке, где третья строка выше генерирует следующее сообщение об ошибке:

«System.Web.UI.UserControl» не содержит определение для «StayTunedID»

Я надеялся, что кастинг StayTunedControl как тип (UserControler_StayTuned) будет это исправить.

HELP?

+0

Вы ссылаетесь на элемент управления в своем aspx-файле? –

+0

вы должны обновить свой вопрос с помощью новой информации, это облегчит людям помощь со всей информацией в одном месте. –

+0

добавлен как ссылка на страницу aspx - и теперь я получаю следующее: компилятор не с кодом ошибки 1. –

ответ

0

По существу, были проблемы с пространствами имен и остатками, оставленными в атрибуте inherits элемента управления, что приводило к сбою компилятора с сообщением об ошибке 1..

Упоминается следующие разрешения - соответствие с некоторыми из приведенных выше комментариев:

http://www.codeproject.com/KB/aspnet/LoadingUSerControl.aspx

0

Прежде чем обращаться к любому свойству пользовательского элемента управления необходимо создать экземпляр пользовательского элемента управления при загрузке это на страницу.

Dim tc As New Page 
Dim c As Control = tc .LoadControl("~/usercontrols/tasks.ascx") 
Dim uc As usercontrols_tasks = DirectCast(c, usercontrols_tasks) 

Я впервые загрузил свой пользовательский контроль в качестве общего элемента управления. Затем был создан новый экземпляр пользовательского элемента управления и передан общий загруженный элемент управления в мой экземпляр uc.

После создания экземпляра вашего пользовательского элемента управления его свойства будут доступны.

Смежные вопросы