[原创]nvelocity模板调用.NET类的方法代码

最近利用NVelocity+MVC进行开发过程中,发现NVelocity没有四舍五入的函数,利用js进行页面处理又太慢,如果可以调用.NET类的方法就太完美了。

于是Google了一下,发现篇Velocity调用Java代码的文章:

velocity模板开发中减法 加法

既然NVeclocity是从Velocity来的,自然少不了这个功能了,于是将ASP.NET的代码修改如下:

public class MatchTool

{

/// <summary>

/// 四舍五入

/// </summary>

/// <param name="d"></param>

/// <param name="decimals"></param>

/// <returns></returns>

public Decimal Round(decimal d, int decimals)

{

return System.Math.Round(d,decimals);

}

}

//添加C#的Math数字计算实例给模板用于四舍五入

AddContext("MathTool",new MatchTool());

由于C#的System.Math是静态类型,不能实例化赋值给模板标签$MathTool,于是给包装了一下,实例化了个MathTool类封装了Round方法,于是将它的实例赋值给模板标签MathTool

模板代码调用代码如下:

$MathTool.Round($order.UnitPrice,2)

另外NVelocity也可以调用.NET的String类型的方法,例如String类型的CutString方法

代码如下:

$Str.Cutstring(0,20) 截取20个字符

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏