2011-05-19 21 views
5

मैं अपने वेब फॉर्म एप्लिकेशन के साथ Ninject.Web लाइब्रेरी का उपयोग कर रहा हूं। यह अब महान काम कर रहा है सिवाय इसके कि मुझे उपयोगकर्ता नियंत्रण में निर्भरता इंजेक्ट करने की आवश्यकता है। इसे निष्पादित करने का श्रेष्ठ तरीका क्या है? Ninject.Web में वेब क्लास, पेज और मास्टर पेजों के लिए बेस क्लास नहीं है।Ninject.Web और उपयोगकर्ता नियंत्रण

उत्तर

5

आप उपयोगकर्ता के लिए एक आधार वर्ग अपने आप को नियंत्रित करता है बना सकते हैं:

public class NinjectedUserControl : System.Web.UI.UserControl 
{ 
    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     RequestActivation(); 
    } 

    /// <summary> 
    /// Asks the kernel to inject this instance. 
    /// </summary> 
    protected virtual void RequestActivation() 
    { 
     KernelContainer.Inject(this); 
    } 
} 

मैं अपने समाधान में Ninject.Web के स्रोत कोड है और मैं (इसलिए यह KernelContainer, उपयोग कर सकते हैं Ninject.Web को इस वर्ग को शामिल किया है जो आंतरिक है)।

संबंधित मुद्दे