Как мне создать строго типизированную модель и использовать ее в файле cshtml в отличие от динамической?

#c# #razor

#c# #razor

Вопрос:

Я слежу за этой статьей и считаю, что в ней используется динамическая модель, но я хочу создать строго типизированную модель и использовать ее, но у меня возникают трудности. У кого-нибудь есть пример, я уже создал класс с несколькими свойствами и создал несколько экземпляров класса, которые я хочу просмотреть в своем файле cshtml и сгенерировать выходные данные.

Вот файл cshtml:

 @* Generator : Template TypeVisibility : Internal *@
@*@model*@

<table>
<tr><th>Name</th></tr><tr><th>Type</th></tr><tr><th>Failed</th></tr>
@foreach (var item in Model) {
    <tr><td>@item.Name</td><td>@Model.Type</td><td>@Model.Failed</td></tr>  
}
</table>
  

Вот файл Failures.cs:

 namespace RazorEmailTemplate.Models
{
    public class PMSFailures
    {
        public string Name { get; set; }
        public string Type { get; set; }
        public DateTime Failed { get; set; }
    }
}
  

Вот Program.cs:

 class Program
    {
        static void Main(string[] args)
        {
            var template = new RazorTemplate
            {
                Model = new[] {
                new {Name = "Tru", Type=1, Failed= DateTime.UtcNow},
                new {Name = "Op", Type=2,Failed= DateTime.UtcNow},
                new {Name = "Sy", Type=3,Failed= DateTime.UtcNow.AddHours(-16)},
                new {Name = "Tr", Type=4,Failed= DateTime.UtcNow.AddDays(-3)}
                }
            };


            Console.WriteLine(template.TransformText());
            Console.ReadKey();

        }
    }
  

RazorTemplate.cshtml имеет RazorGenerator в качестве пользовательского инструмента, и он генерирует файл с именем RazorTemplate.generated.cs.

Комментарии:

1. Можете ли вы предоставить ссылку на статью, которую вы используете? большинство примеров, которые я видел в Интернете, используют строго типизированные модели…

2. Можете ли вы добавить ссылку на статью и объяснить, на каком именно этапе у вас возникают проблемы?

3. Извините, я совершенно забыл добавить ссылку. Я обновил свой пост.

Ответ №1:

После консультации с oracle… Я решил, что это хороший пример.

Комментарии:

1. Она вряд ли заполнена. Не показывает преимущества использования **** для универсальных помощников html