Поддерживает ли RazorMachine forloops

#c# #.net #template-engine #razorengine

#c# #.net #движок шаблонов #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. Пожалуйста, добавьте это в раздел ответов, я бы принял это, это правильно, и это работает, спасибо

Ответ №1:

Скорее всего, вы хотите, чтобы было напечатано имя переменной 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);