Razor Machine是否支持循环

时间:2014-07-03 09:44:45

标签: c# .net template-engine razorengine

rajor machine razormachine 支持循环,有没有任何例子 以下没有工作

md.Title = "Title";
            md.TableDt.Add(new TableData { Name = "name1" });
            md.TableDt.Add(new TableData { Name = "name2" });
            RazorMachine rm = new RazorMachine();
            ITemplate template = rm.ExecuteContent(
                @"Razor says:@@ok Hello @Model.FirstName  @Model.LastName
            @foreach (var v in Model.TableDt)
{
v.Name
}
            ",
              new { FirstName = "John", LastName = "Smith" });
            Console.WriteLine(template.Result);

1 个答案:

答案 0 :(得分:2)

您最有可能希望打印变量v的名称。 如果是这样,您忘记了需要添加@符号。

正确的代码是:

md.Title = "Title";
md.TableDt.Add(new TableData { Name = "name1" });
md.TableDt.Add(new TableData { Name = "name2" });
RazorMachine rm = new RazorMachine();
ITemplate template = rm.ExecuteContent(
    @"Razor says:@@ok Hello @Model.FirstName  @Model.LastName
      @foreach (var v in Model.TableDt)
      {
          @v.Name
      }
",
  new { FirstName = "John", LastName = "Smith" });
Console.WriteLine(template.Result);