Вопрос

У меня есть веб-страница в ASP.NET 3.5, которая будет динамически создавать веб-элементы управления.WebControls, которые он будет создавать, будут известны по их полному пути (т. е. System.Web.UI.WebControls.whatever).Причина этого в том, что я разрешаю пользователю решать, какие элементы управления будут размещены на веб-странице.Конечно, здесь сложнее, но в двух словах это все.

Проще говоря, как мне создать WebControl на веб-странице по его полному пути?

Я понимаю, что ответ, вероятно, в конечном итоге будет использовать отражение, но у меня мало опыта использования отражения, и я не хочу стрелять себе в ногу, совершая ошибку новичка.

Это было полезно?

Решение

попробуйте позвонить так: Activator.CreateInstance(Type.GetType("TypeName"));

где ИмяТипа полное имя, включая сборку.в моем случае это выглядело так:

Activator.CreateInstance(Type.GetType("System.Web.UI.WebControls.Label, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"));

чтобы быть уверенным в полном имени в вашем случае, попробуйте вывести typeof(System.Web.UI.WebControls.Label).FullName и использовать его как образец

Другие советы

object widget = Activator.CreateInstance ( Assembly.GetType ( name ) );

где name — это строка полного типа

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top