0

在一个项目中,我只需要在页面中使用 NVelocity 生成一个随机数,而无需编辑 C# 背后的代码。我是 NVelocity 的新手,我浏览了整个互联网,但找不到答案。

任何帮助表示赞赏。

注意:致将其标记为可能重复问题的用户。我试图调整该答案中列出的 Velcocity/Java 解决方案以适应 NVelocity/C#,但没有运气。我假设答案会有所不同。

4

1 回答 1

0

NVelocity 没有内置支持生成伪随机数,但是如果您创建一个新的System.Random并将其添加到VelocityContext您将能够从模板访问它。

VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.Init();

VelocityContext context = new VelocityContext();
context.Put("random", new Random());

using (StringWriter sw = new StringWriter())
{
    for (int i = 0; i < 5; i++)
    {
        velocityEngine.Evaluate(context, sw, "", "$random.Next(1, 100)\n");
    }

    Console.WriteLine(sw.ToString());
}
于 2016-08-17T05:15:03.927 回答