Your code is create a new instance of the class so you need to obey the constructor rules. There is nothing in your code that is using Ninject so you're not doing dependency resolving. What you have to do is use the DependencyResolver to get the instance of your class
c# - Asp.net mvc 4 dependency resolver - Stack Overflow[
^]
If your ninject resolver is registered as a dependency resolver then using DependencyResolver as per the link above will pass the object creation to ninject and the constructor will be injected for you by ninject. The reason your code works for controllers is because when the mvc framework creates an instance of your controller it uses the DependencyResolver to do so. You can't just create classes like normal using "new" and expect them to be routed through ninject.