好用的模板引擎NVelocity

CastleNVelocity-1.1.1,使用方法:

把dll放到项目中,添加引用,修改配置的文件夹以及数据模型,最后在逻辑代码中调用即可。

封装到CommonHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NVelocity.App;
using NVelocity.Runtime;
using NVelocity;

namespace LiuYanBan
{
public class CommonHelper
{
public static string RenderHtml(string name, object data)
{
VelocityEngine vltEngine = new VelocityEngine();
vltEngine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file");
vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates"));//模板文件所在的文件夹
vltEngine.Init();

VelocityContext vltContext = new VelocityContext();
vltContext.Put("Model", data);//设置参数,在模板中可以通过$data来引用

Template vltTemplate = vltEngine.GetTemplate(name);
System.IO.StringWriter vltWriter = new System.IO.StringWriter();
vltTemplate.Merge(vltContext, vltWriter);
return vltWriter.GetStringBuilder().ToString();
}
}
}

调用:

string html = CommonHelper.RenderHtml("PersonEdit.htm", new { Name = "", Age = 20, Email = "@rupeng.com" });

原文地址:https://www.cnblogs.com/uftwkb24/p/9242420.html