Как создать строго типизированную модель и использовать ее в файле cshtml, а не в динамической? - PullRequest
0 голосов
/ 07 ноября 2011

Я следую этой статье и полагаю, что она использует динамическую модель, но я хочу создать строго типизированную модель и использовать ее, но мне трудно. У кого-нибудь есть пример, я уже создал класс с несколькими свойствами и сделал несколько экземпляров класса, который я хочу просмотреть в моем файле 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 Ответ

0 голосов
/ 07 ноября 2011

После консультации с оракулом ... я решил это хороший пример .

...