Возможно, я нахожусь на тупиковом пути, поэтому я надеюсь, что кто-нибудь может сказать мне "развернись!"или "продолжай!"- Я пытаюсь преобразовать помощника HTML из приложения ASP.NET 5 в приложение .NET Core 2.0. Я столкнулся с проблемой при вызове помощника в классе расширения. Во-первых, я прочитал, что .NET Core использует DI для получения настроек приложений в отдельные классы, поэтому я установил класс расширения с помощью DI:
private readonly AppSettings _appsettings;
public HtmlHelperExtensions2(IOptions<AppSettings> appSettings)
{
_appsettings = appSettings.Value;
}
И я могу возвращать элементы из appSettings.json. Проблема в том, что для использования DI мне нужно было удалить «статические» ссылки из сигнатуры класса, поэтому мне также пришлось удалить ссылку «this» из вызова помощника:
public void HelpPanel(HtmlHelper htmlHelper, string thingId, string language)
{ }
В противном случае я получаюошибка компиляции. Но без ссылки "this" вызов ожидает новый HtmlHelper.
Так что я пытаюсь пройти через это, если я действительно могу пройти через это. Это правильный путь или я нахожусь в тупике? Нужно ли использовать в Core что-то еще, кроме HtmlHelpers? Я не могу определить, поддерживаются ли они даже в Core.