Frage

Ich habe eine Webseite in ASP.NET 3.5, die WebControls dynamisch zu schaffen wird. (- System.Web.UI.WebControls.whatever ie) Die WebControls, dass es sich, zu schaffen wird durch ihren vollständigen Pfad bekannt sein. Der Grund dafür ist, dass ich der Benutzer bin ermöglicht zu entscheiden, was Kontrollen auf der Webseite gehen. Natürlich gibt es mehr Komplexität als das, aber das ist es auf dem Punkt.

Einfach gesagt - wie erstelle ich eine WebControl auf einer Webseite, indem sie es vollständig qualifizierter Pfad ist

Ich weiß, dass die Antwort wahrscheinlich Reflexion am Ende, aber ich habe wenig Erfahrung Reflexion mit und ich will mich nicht in den Fuß schießen, indem ein Neuling Fehler zu machen.

War es hilfreich?

Lösung

versuchen, auf diese Weise zu nennen: Activator.CreateInstance(Type.GetType("TypeName"));

Dabei gilt Type-Name ist voll qualifizierten Namen , einschließlich Montage. in meinem Fall sah es so aus:

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

über vollständige Namen sicher sein, in Ihrem Fall, versuchen Sie die Ausgabe typeof(System.Web.UI.WebControls.Label).FullName und verwenden Sie es als ein Muster

Andere Tipps

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

wobei Name der Zeichenfolge des vollständig qualifizierten Typ ist

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top