我正在关注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的文件。