Я пытаюсь сделать работу usercontrol как плагин: загружать его динамически (используя отражение) из пользовательского выбора. После того, как я нажму кнопку, я вижу, что пользовательский интерфейс был настроен так, что предположительно указывает, что пользовательский элемент управления загружен, но я не могу сам управлять. Я даже использовал viewstate, но все же я не вижу контроля.Динамически загруженный пользовательский элемент управления не отображается
Пожалуйста найти мой код ниже:
protected void Page_Load(object sender, EventArgs e)
{
//the scenario should be: a user clicking a button and from there,
//loads the control just below it, but still in the same page.
if (Page.IsPostBack)
LoadUserControl();
//(a)I also tried to put in a ViewState but still nothing happens.
//if (ViewState["UserControl"] != null)
//{
// UserControl uc = (UserControl)ViewState["UserControl"];
// pnlReportControl.Controls.Add(LoadControl());
//}
}
//supposedly done after a button click
private void LoadUserControl()
{
enrolmentReports = string.Concat(Server.MapPath("~"), enrolmentDll);
assembly = Assembly.LoadFrom(enrolmentReports);
Type type = assembly.GetType("TZEnrollmentReports.EnrollmentUserControl");
enrolmentMethodInfos = type.GetMethods();
//also tried this way but also didn't work
//Page.LoadControl(type, null);
UserControl uc1 = (UserControl)LoadControl(type, null);
pnlReportControl.Controls.Add(uc1);
//(a)
//ViewState["UserControl"] = uc1;
}
Пожалуйста, помогите. Это всего лишь первый шаг всего сложного процесса. Мне еще нужно получить набор данных из этого отчета. Но я думаю, что оставлю это в другой теме.
Спасибо!
Если вы пытаетесь отлаживать ваш код, это 'uc1' правильно инстанцирован? Это пользовательский элемент управления, который вы ожидаете увидеть? – themarcuz
фактически да. когда я пытаюсь отладить код, он показывает usercontrol, который я ожидаю, и все методы в нем. пользовательский интерфейс даже изменяется, чтобы соответствовать предполагаемой высоте пользовательского элемента управления. – iceheaven31
Вы уверены, что проблема не в самом пользовательском управлении? возможно, он не может правильно создать html. Вы пытались загрузить его на странице жестко запрограммированным способом (так что не динамически загружались), чтобы убедиться, что он отображается правильно? – themarcuz