- 51Aspx源码必读.txt[4KB]
- 说明.txt[3KB]
- JNTemplate\app.config[120B]
- JNTemplate\Application.cs[1KB]
- JNTemplate\Engine.cs[206B]
- JNTemplate\Field.cs[890B]
- JNTemplate\JNTemplate.csproj[3KB]
- JNTemplate\ReadMe.txt[3KB]
- JNTemplate\Template.cs[5KB]
- JNTemplate\bin\Debug\JNTemplate.dll.config[120B]
- JNTemplate\bin\Release\JNTemplate.dll.config[120B]
- JNTemplate\obj\Debug\JNTemplate.csproj.FileListAbsolute.txt[1KB]
- JNTemplate\obj\Release\JNTemplate.csproj.FileListAbsolute.txt[383B]
- JNTemplate\Process\Evaluator.cs[3KB]
- JNTemplate\Process\IDataSource.cs[361B]
- JNTemplate\Process\LogicParser.cs[7KB]
- JNTemplate\Process\ParserRegex.cs[3KB]
- JNTemplate\Process\TemplateLexer.cs[3KB]
- JNTemplate\Process\TemplateParser.cs[15KB]
- JNTemplate\Process\VariableScope.cs[8KB]
- JNTemplate\Process\WordParser.cs[4KB]
- JNTemplate\Process\Common\Cache.cs[1KB]
- JNTemplate\Process\Common\FileHelper.cs[4KB]
- JNTemplate\Process\Common\Utils.cs[372B]
- JNTemplate\Process\Element\CShareTag.cs[577B]
- JNTemplate\Process\Element\ForeachTag.cs[4KB]
- JNTemplate\Process\Element\ForTag.cs[5KB]
- JNTemplate\Process\Element\FunctaionTag.cs[2KB]
- JNTemplate\Process\Element\IfTag.cs[3KB]
- JNTemplate\Process\Element\Token.cs[1KB]
- JNTemplate\Process\Element\VariableTag.cs[4KB]
- JNTemplate\Properties\AssemblyInfo.cs[1KB]
- TestSite\Default.aspx[880B]
- TestSite\Default.aspx.cs[2KB]
- TestSite\Default2.aspx[694B]
- TestSite\Default2.aspx.cs[1KB]
- TestSite\Default3.aspx[432B]
- TestSite\Default3.aspx.cs[1KB]
- TestSite\Web.config[210B]
- TestSite\_ForAndIndex.aspx[440B]
- TestSite\_ForAndIndex.aspx.cs[1KB]
- TestSite\_Foreach.aspx[103B]
- TestSite\_Foreach.aspx.cs[1KB]
- TestSite\_ForeachInForeach.aspx[119B]
- TestSite\_ForeachInForeach.aspx.cs[1KB]
- TestSite\_ForeachInTable.aspx[115B]
- TestSite\_ForeachInTable.aspx.cs[1KB]
- TestSite\_Function.aspx[434B]
- TestSite\_Function.aspx.cs[1KB]
- TestSite\_TemplateForCache.aspx[117B]
- TestSite\_TemplateForCache.aspx.cs[1KB]
- TestSite\App_Code\Service.cs[532B]
- from.gif[4KB]
- 最新Asp.Net源码下载.url[123B]
- JNTemplate\JNTemplate.sln[909B]
- JNTemplate\JNTemplate.suo[11KB]
- JNTemplate\bin\Debug\JNTemplate.dll[32KB]
- JNTemplate\bin\Debug\JNTemplate.pdb[113KB]
- JNTemplate\bin\Release\JNTemplate.dll[30KB]
- JNTemplate\bin\Release\JNTemplate.pdb[97KB]
- JNTemplate\obj\Debug\JNTemplate.dll[32KB]
- JNTemplate\obj\Debug\JNTemplate.pdb[113KB]
- JNTemplate\obj\Debug\ResolveAssemblyReference.cache[1KB]
- JNTemplate\obj\Debug\Refactor\JNTemplate.dll[9KB]
- JNTemplate\obj\Release\JNTemplate.dll[30KB]
- JNTemplate\obj\Release\JNTemplate.pdb[97KB]
- JNTemplate\引用\Microsoft.JScript.dll[732KB]
- TestSite\Handler.ashx[396B]
- TestSite\JNTemplate.sln[2KB]
- TestSite\JNTemplate.suo[85KB]
- TestSite\Service.svc[103B]
- TestSite\Bin\JNTemplate.dll[32KB]
- TestSite\Bin\JNTemplate.pdb[113KB]
源码介绍
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 }
循环实体名称与变量命名规则一样,循环体只能用变量名
例如:
<ul>
#{ #foreach(row in table) }
<li> 标题:#{ row.Title }</li>
#{ #endforeach }
</ul>
如果需需要对数据源名称进行组合,可以使用 [ 内容 ]
内容中,字符用英文引号分隔“"”,多个字符串用+号连接,未在括号中的全视为变量,(会自动区分小数与数字)
实列
<ul>
#{ #foreach(row in ["table" + model.ID]) }
<li> 标题:#{ row.Title }</li>
#{ #end foreach }
</ul>
支持自定义处理数据源,当数据源如下写法时,会交给自定义方法处理,即。数据源字段为#[ 字符串 ],字符串必须以引号引起来,否则会视为变量
<ul>
#{ #foreach(row in #["select * from table"]) }
<li> 标题:#{ row.Title }</li>
#{ #end foreach }
</ul>
或
<ul>
#{ #foreach(row in #["select * from table where id=" + ID]) }
<li> 标题:#{ row.Title }</li>
#{ #end foreach }
</ul>
注意,如果使用#[]必须实现模板中的IDataSoure接口
=========================================================
方法标签:
#{ 方法名(参数) }
方法名的命名规则和变量一致,多个参数用英文逗号分隔“,”,字符用英文引号分隔“"”,
未例:
#{ GetMesage("字符串",38,model.ID) }
还有
简单的IF标签,与FOR标签,请自行查看代码了解用法
下载记录(Only Recent 100)
用户名 | 推荐指数 | 下载时间 |
---|