Создаем html при помощи RazorEngine без контроллеров mvc (asp.net-mvc)

  1. Подключаем библиотеку RazorEngine при помощи менеджера пакетов nuget.
  2. Пишем метод который на вход принимает путь к представлению и модель, а на выходе отдает html строку
    public static class RenderViewHelper
    {
        public static string RenderPartialToString(string viewPath, object model)
        {
            string viewAbsolutePath = MapPath(viewPath);
    
            var viewSource = File.ReadAllText(viewAbsolutePath);
    
            string renderedText = Razor.Parse(viewSource, model);
            return renderedText;
        }
    
        public static string MapPath(string filePath)
        {
            return string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, filePath.Replace
    ("~", string.Empty).TrimStart('/'));
        }
    }
    
  3. Используем так:
    string mailMessageBody = RenderViewHelper.RenderPartialToString
    ("~/Views/_Messages/_TestMessage.cshtml", new TestMessageView { Message = "test message" });
    

    Где _TestMessage.cshtml это

    @model WebApp.Models.TestMessageView
    
    <div>@Model.Message</div>
    

    а TestMessageView это

    public class TestMessageView
    {
        public string Message { get; set; }
    }
    
По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *