Можно ли использовать помощников Razor с помощью инъекции зависимостей? Или вызвать некоторые услуги из вида Razor?Помощник бритвы с инъекцией зависимостей
Благодаря
Можно ли использовать помощников Razor с помощью инъекции зависимостей? Или вызвать некоторые услуги из вида Razor?Помощник бритвы с инъекцией зависимостей
Благодаря
На .NET Ядра, да, они добавили поддержку для него; https://docs.microsoft.com/en-us/aspnet/core/mvc/views/dependency-injection
Например, это позволяет вам делать что-то вроде;
@using System.Threading.Tasks
@using ViewInjectSample.Model
@using ViewInjectSample.Model.Services
@model IEnumerable<ToDoItem>
@inject StatisticsService StatsService
Отметьте @inject
там внизу. Синтаксис:
@inject <type> <name>
Вы также должны убедиться, что тип вы хотите, чтобы ввести в вашем ConfigureServices
классе в Startup.cs
Гораздо лучше, FWIW Я не спускал вниз – Bugs
Почему бы не сделать это в контроллере? – Shyju
Я хочу создать прозрачный помощник для изображений. Он создает URL-адрес изображения по размеру. Если изображение с размерами не существует, я хочу его создать. Если логика в контроллере, так что это может ввести в заблуждение, и мне пришлось бы перебирать список продуктов в контроллере (для создания URL-адресов изображений), а затем снова в представлении. – JaSHin
Это определенно должно быть сделано в контроллере, как сказал shyju. Когда вы вернете список и создаете модель представления, вы можете проверить, существует ли изображение и создать его. Создание его в представлении нарушает ваше разделение проблем в представлении, должно просто отображать или отправлять данные обратно контроллеру, а затем разговаривать с базой данных или веб-службой. – Fran