c# - 如何将数组与 RazorEngine 一起使用?

标签 c# arrays razorengine

string templ = @"@Model.Name[0] @Model.Name[1]";
string result = RazorEngine.Razor.Parse(templ, new { Name = "Hello" });

Console.WriteLine(result);

这是我的输出

H e

我试图弄清楚如何将数组放入其中,但我无法弄清楚语法。

显然,这是行不通的:

new { Name[0] = "Hello", Name[1] = "World"};

最佳答案

这不是 Razor 引擎的问题。您的模板字符串很好,并且 Razor 引擎正在按照您的预期对其进行评估,因为您为 Name 提供的值是 string 而不是数组。

您只需正确初始化数组即可。试试这个:

string result = RazorEngine.Razor.Parse(
    templ,
    new { 
        Name = new[] { "Hello", "World" } 
    });

进一步阅读

关于c# - 如何将数组与 RazorEngine 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22773244/

相关文章:

c# - IDynamicMetaObjectProvider 使用文字名称设置属性

c# - 如何在构建时将其他文件包含到 C# 的输出目录中?

c# - NLog 压缩并删除旧的日志文件

javascript - 未引用数组在 "slice"之后不是那么未引用?

c - 在 C 中传递数组指针

c# - PictureBox 在 RotateFlipType 之后不重绘,但它使用断点

javascript - 通过将数据作为单个数组而不是单独的列进行优化

c# - 如何使用 RazorEngine 将 System.Text.RegularExpressions 添加到模板?

razor - 如何使用自定义文件夹中的部分解析 Razor 模板?

c# - 如何从 dll 中反编译/提取 (cshtml--(razor view))