[原创]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)

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

支付宝扫一扫打赏

微信扫一扫打赏