Допустим, у меня есть две веб-формы: A.aspx и B.aspx , где B.aspx содержит несколько простых веб-элементов управления, таких как текстовое поле и кнопка.
Я пытаюсь сделать следующее:
Когда запрашивается A.aspx,
Я хочу динамически вызывать и загружать B.aspx в память и выводить детали всех элементов управления, содержащихся в B.aspx.
Вот что я пробовал в коде для A.aspx:
var compiledType = BuildManager.GetCompiledType("~/b.aspx");
if (compiledType != null)
{
var pageB = (Page)Activator.CreateInstance(compiledType);
}
foreach (var control in pageB.Controls)
{
//output some details for each control, like it's name and type...
}
Когда я пытаюсь выполнить приведенный выше код, коллекция элементов управления для pageB всегда пуста.
Любые идеи о том, как я могу заставить это работать?
Некоторые другие важные детали: