大小:未知
点击:8次
JNTemplate v1.0 Alpha源码
- 支 持:PC
- 分 类:软件下载
- 大 小:未知
- 版 本:1.0
- 点击量:8次
- 发 布:2026-01-28 11:00:08
手机扫码免费下载
#JNTemplate v1.0 Alpha源码截图
#JNTemplate v1.0 Alpha源码简介
JNTemplate v1.0 Alpha源码
简介:
JNTemplate是一款轻量级模板引擎!开发环境:vs2008(.net 2.0),可以直接在VS2005中使用!
项目不做过多介绍,本项目个别代码参照了AderTemplates,模板语法与c#接近,对于做c#开发的朋友应当
能很快上手!
本代码首发:51aspx.com
本来不想将该作品拿出来分享的!主要基于以下原因!
1.项目还不成熟
2.个人水平有限
3.国内用户版权意识意识薄弱,原作者得不到起码的尊重!
4.敝帚自珍
但是基于共享的原则与愿和大家一起进步的想法,思虑再三,还是将其分享出来!
本项目已应用到本人的部分实际项目中,基本解析速度还算理想!本代码供大家学习!如果应用到您的项目!
包括全部与部分,请保持类中顶部的注释!算是对原作者的尊重,也是我继续更新的动力!
文件说明:
JNTemplate 模板引擎核心代码
TestSite 演试代码
标签说明======================================================================================
#{ 变量标 }
变量标签只能使用数字与字母的组合,并且以字母开头,变量属性用"."分隔,属性必须为已知字段!
例如:
#{ model.Title }
支持索引
例如:
#{DataTable.Rows[0][0]}
#{DataTable.Rows[0]["ID"]}
这么写也是正确的
#{DataTable.0.0}
#{DataTable.0.ID }
如果当索引里面的字段必须是数字或者用双引号括起来的字符串!如果不满足这两个条件,则会视为变量
例如:
#{DataTable.Rows[0][i]}
程序会先解析变量i的值再去获取DataTable.Rows[0][变量i的值]
如果中括号里面是变量,则不能通过 DataTable.Rows.0.变量来获取
=========================================================
foreach 标签
#{ #foreach(循环体 in 数据源) }
循环内容
#{ #endforeach }
循环实体名称与变量命名规则一样,循环体只能用变量名
例如:
- 标题:#{ row.Title }
#{ #foreach(row in table) }
#{ #endforeach }
如果需需要对数据源名称进行组合,可以使用 [ 内容 ]
内容中,字符用英文引号分隔“"”,多个字符串用+号连接,未在括号中的全视为变量,(会自动区分小数与数字)
实列
- 标题:#{ row.Title }
#{ #foreach(row in ["table" + model.ID]) }
#{ #end foreach }
支持自定义处理数据源,当数据源如下写法时,会交给自定义方法处理,即。数据源字段为#[ 字符串 ],字符串必须以引号引起来,否则会视为变量
- 标题:#{ row.Title }
#{ #foreach(row in #["select * from table"]) }
#{ #end foreach }
或
- 标题:#{ row.Title }
#{ #foreach(row in #["select * from table where id=" + ID]) }
#{ #end foreach }
注意,如果使用#[]必须实现模板中的IDataSoure接口
=========================================================
方法标签:
#{ 方法名(参数) }
方法名的命名规则和变量一致,多个参数用英文逗号分隔“,”,字符用英文引号分隔“"”,
未例:
#{ GetMesage("字符串",38,model.ID) }
还有
简单的IF标签,与FOR标签,请自行查看代码了解用法