ASP.NET Core introduces the concept of dependency injection into Views via the @inject
directive via the following syntax :
@inject <type> <name>
Adding this directive into your View will basically generate a property of the given type using the given name within your View using proper dependency injection as demonstrated in the example below :
@inject YourWidgetServiceClass WidgetService
<!-- This would call the service, which is already populated and output the results -->
There are <b>@WidgetService.GetWidgetCount()</b> Widgets here.
Services that use dependency injection are still required to be registered within the ConfigureServices()
method of the Startup.cs
file and scoped accordingly :
public void ConfigureServices(IServiceCollection services)
{
// Other stuff omitted for brevity
services.AddTransient<IWidgetService, WidgetService>();
}