c# - Ninject.Web 和用户控件

标签 c# asp.net user-controls webforms ninject

我将 Ninject.Web 库与我们的 Web 表单应用程序一起使用。它工作得很好,除了现在我需要将依赖项注入(inject)用户控件。完成此任务的最佳方法是什么? Ninject.Web 不像 Web 服务、页面和母版页那样包含基类。

最佳答案

您可以自己为用户控件创建一个基类:

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 的源代码,我已将此类添加到 Ninject.Web(因此它可以访问内部的 KernelContainer)。

关于c# - Ninject.Web 和用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062221/

相关文章:

c# - 如果最后一个字符是使用 C# 的 DirectorySeparatorChar,则将其删除

c# - 使用异步套接字的 TCP 端口转发

c# - "Ctrl + C"按钮按下句柄 C# 控制台应用程序

c# - ASP.Net-Core 中的自定义身份验证

c# - 如何删除在 asp.net 中动态创建的文本框?

WPF:将画笔恢复为默认/原始

c# - 如何从 XDocument 获取文本值?

c# - 如何在 ASP MVC 4 中将项目从一个列表框移动到另一个列表框?

wpf - 在其他控件旁边显示 itemtemplate 中的用户控件列表

c# - WinForms UI 在用户控件中时加载速度要慢得多