Pregunta

Tengo una página web en ASP.NET 3.5 que se crea dinámicamente WebControls. Los WebControls que será la creación serán conocidos por su ruta de acceso completa (es decir, - System.Web.UI.WebControls.whatever). La razón de esto es porque estoy permitiendo al usuario decidir qué controles irán en la página web. Por supuesto, hay más complejidad que esto, pero eso es todo en una cáscara de nuez.

En pocas palabras - ¿Cómo puedo crear un WebControl en una página web por su trayecto completamente cualificado

Me darse cuenta de que la respuesta probablemente terminará utilizando la reflexión, pero tengo poca experiencia en el uso de la reflexión y no quiero pegarme un tiro en el pie por cometer un error de novato.

¿Fue útil?

Solución

intentar llamar de esta manera: Activator.CreateInstance(Type.GetType("TypeName"));

donde TypeName es completamente nombre calificado , incluido el montaje. en mi caso se veía de esta manera:

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

para estar seguro sobre el nombre completo en su caso, tratar de typeof(System.Web.UI.WebControls.Label).FullName de salida y utilizarlo como un patrón

Otros consejos

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

donde nombre es la cadena del tipo completo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top