Création d'WebControls de chemin complet (nom de l'assembly?)
-
23-09-2019 - |
Question
J'ai une page Web dans ASP.NET 3.5 qui sera de créer WebControls dynamiquement. Les WebControls qu'il créerez seront connus par leur chemin complet (c.-à - System.Web.UI.WebControls.whatever). La raison de cela est parce que je suis permettant à l'utilisateur de décider ce qui contrôle ira sur la page Web. Bien sûr, il y a plus de complexité que cela, mais qui est en un mot.
Il suffit de mettre - comment puis-je créer un WebControl sur une page Web par son chemin complet
Je me rends compte que la réponse finira probablement par réflexion, mais j'ai peu d'expérience en utilisant la réflexion et je ne veux pas me tirer une balle dans le pied en faisant une erreur de débutant.
La solution
essayer d'appeler ainsi: Activator.CreateInstance(Type.GetType("TypeName"));
où TypeName est nom complet , y compris l'assemblage. dans mon cas, il avait l'air de cette façon:
Activator.CreateInstance(Type.GetType("System.Web.UI.WebControls.Label, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"));
pour être sûr de nom complet dans votre cas, essayez de typeof(System.Web.UI.WebControls.Label).FullName
de sortie et l'utiliser comme modèle
Autres conseils
object widget = Activator.CreateInstance ( Assembly.GetType ( name ) );
où le nom est la chaîne du type complet