NullReferenceException sur la poignée de contrôle utilisateur
-
09-06-2019 - |
Question
J'ai une application Asp.NET (VS2008, Framework 2.0).Lorsque j'essaie de définir une propriété sur l'un des contrôles utilisateur comme
myUserControl.SomeProperty = someValue;
J'ai un NullReferenceException
.Quand j'ai débogué, j'ai découvert que myUserControl
est nul.Comment est-il possible qu'un handle de contrôle utilisateur soit nul ?Comment puis-je résoudre ce problème ou comment puis-je trouver la cause de ce problème ?
La solution
Où essayez-vous d'accéder à la propriété ?Si vous êtes dans onInit, le contrôle n'est peut-être pas encore chargé.
Autres conseils
Où exactement dans le code essayez-vous de faire cela ?Il est possible que vous tentiez d'accéder au contrôle trop tôt dans le processus. cycle de vie des pages et il n'a pas encore été instancié.
Si vous avez créé le UserControl pendant l'exécution (via ControlCollection.Add), vous devez également le créer lors de la publication.
Un autre cas peut être que votre UserControl ne corresponde pas à la page designer.cs
J'essayais de définir la propriété du balisage sur un contrôle utilisateur externe.Lorsque j'ai apporté la propriété à OnLoad, cela a fonctionné.