سؤال

لدي تطبيق Asp.NET (VS2008, Framework 2.0).عندما أحاول تعيين خاصية على أحد عناصر تحكم المستخدم مثل

myUserControl.SomeProperty = someValue;

أحصل على NullReferenceException.عندما قمت بالتصحيح، اكتشفت ذلك myUserControl باطل.كيف يمكن أن يكون مقبض تحكم المستخدم فارغًا؟كيف أصلح هذا أو كيف أجد أسباب ذلك؟

هل كانت مفيدة؟

المحلول

أين تحاول الوصول إلى العقار؟إذا كنت في onInit، فقد لا يتم تحميل عنصر التحكم بعد.

نصائح أخرى

أين تحاول القيام بذلك بالضبط في الكود؟من الممكن أنك تحاول الوصول إلى عنصر التحكم مبكرًا جدًا في دورة حياة الصفحة ولم يتم إنشاء مثيل له بعد.

إذا قمت بإنشاء UserControl أثناء وقت التشغيل (من خلال ControlCollection.Add)، فستحتاج إلى إنشائه عند إعادة النشر أيضًا.

قد تكون الحالة الأخرى هي أن UserControl الخاص بك لا يتطابق مع صفحة Designer.cs

كنت أحاول تعيين الخاصية من العلامات على عنصر تحكم مستخدم خارجي.عندما أخذت الخاصية إلى OnLoad، عملت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top