如何创建强类型模型并在cshtml文件中使用它而不是动态模型?

时间:2011-11-07 16:16:06

标签: c# razor

我正在关注this文章,我相信它使用动态模型,但我想创建一个强类型模型并使用它,但我很难过。有没有人有一个例子,我已经创建了一个具有一些属性的类,并在我的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 :(得分:0)

咨询了神谕之后......我已经决定this is a good example