Вернуть html как строку из обработанной / обработанной Razor Page в библиотеке классов в Core 3 - PullRequest
4 голосов
/ 17 февраля 2020

У меня есть решение с несколькими проектами, один из которых - приложение-функция Azure, которое вызывает метод в. Net Core Class Library, которая отвечает за генерацию HTML, которую я могу использовать с библиотека IronPdf для создания файла PDF. HTML состоит из множества таблиц, которые могут различаться по количеству строк, значений и т. Д., Что будет гарантированно отображать метод библиотеки классов, как и ожидалось.

Проблема, с которой я столкнулся, заключается в том, что Мне нравится использовать Razor Pages для генерации HTML из шаблонов, чтобы я мог повторно использовать HTML фрагменты и помещать logi c в HTML.

. Я искал способы визуализации Razor. Страница в строку и наиболее многообещающие подходы, которые я нашел, требуют внедрения зависимости и, что более важно, контекста. Вот статьи, которые я нашел (они показывают одинаковое решение проблемы):

  1. https://www.learnrazorpages.com/advanced/render-partial-to-string
  2. https://www.mikesdotnetting.com/article/332/rendering-a-partial-to-a-string-in-razor-pages

Насколько я понимаю, они работают, только если они живут в веб-приложении. Я хочу, чтобы все «рендеринг» происходил исключительно в библиотеке классов.

Я хотел бы получить следующее:

  1. Создать экземпляр модели с некоторыми свойствами.
  2. Визуализация Razor Page (или Partial) со значениями из экземпляра.

Я не понимаю, почему это должно быть так сложно, или почему мне нужно Dependency Injection, несколько провайдеров , внедренный View Engine и контекст действия. Почему у меня просто не может быть метода, в котором я просто говорю: «Пожалуйста, возьмите эти значения и используйте их для переменных в этом файле .cs html, решите их и верните результат в виде строки».

Я ищу решения для. Net Core 3, и любые указания или ссылки на материалы, которые показывают решение или объяснение сложности, очень приветствуются.

С уважением, Матиас

1 Ответ

0 голосов
/ 17 февраля 2020

Это то, что вы ищете RazorLight ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...