.net 开源模板引擎jntemplate 教程:基础篇之在ASP.NET MVC中使用Jntemplate
在asp.net mvc
中使用jntemplate
上一篇我们详细介绍了jntemplate的标签语法,本篇文章将继续介绍如何在asp.net mvc
中使用jntemplate。
一、使用jntemplate
- 首先我们先新建一个
asp.net mvc
项目,打开vs2019,依次点击文件
-新建
-项目
,选择asp.net coreweb应用(模型-视图-控制器)
,然后依次下一步,创建一个web应用。
- 点击
项目
-管理nuget程序包
,点击浏览
,输入jntemplate
,安装好包jiniannet.jntemplate
.
- 打开
homecontroller.cs
添加如下代码
public variablescope data { get; set; } = new variablescope(null); public iactionresult jntemplate(string path) { var t = engine.loadtemplate(path); t.context.tempdata = this.data; var result = t.render(); return content(result, "text/html"); }
- index action我们也要稍微改造一样,打开
index
action,改造如下:
public iactionresult index() { this.data.set("name", "jntemplate"); this.data.set("now", datetime.now); return jntemplate("views/home/index.html"); }
- 新建一个视图文件
index.html
,原来的index.cshtml
直接删除,并编辑内容如下:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>${name} web 应用</title> </head> <body> <h1>welcome to ${name}!</h1> <p>©${now.year}</p> </body> </html>
- 最后别忘记在
startup
配置一下引擎工作目录,打开startup
,在configure
中添加一句:engine.configure(c=>c.resourcedirectories.add(env.contentrootpath));
- 好了,我们的jntemplate web应用已经完成了,按
f5
,运行看一下次果吧。
小提示:为了方便使用,我们可以新建一个控制器基类,将第3步的代码移到基类中。
二、使用jntemplateviewengine
在上面我们虽然实现了jntemplate的使用,但是步骤相对繁琐,我们可以直接使用jntemplate视图引擎来简化使用.
安装
首先新建一个asp.net mvc
项目(参见上面的步骤)。然后我们先添加jntemplateviewengine
包, 点击项目
- 管理nuget程序包
,点击浏览
,输入jntemplate
,安装好包jiniannet.aspnetcoreviewengine.jntemplate
.
配置
- 打开
startup
在configureservices
方法中增加addjntemplateviewengine
:
public void configureservices(iservicecollection services) { //原来的代码 services.addjntemplateviewengine(); }
如果你的视图文件按照默认习惯放在views目录下,直接照上面的代码配置就可以了,如果是放在其它目录,则需要把目录添加到配置里面。
public void configureservices(iservicecollection services) { //原来的代码 services.addjntemplateviewengine((o) => { o.viewlocationformats.add("/template/{1}/{0}.html"); }); }
{0}
为视图名,{1}
为控制器名。
- 在
configure
方法中增加usejntemplate
,如下如示
public void configure(iapplicationbuilder app, iwebhostenvironment env) { //原来的代码 //use jntemplate app.usejntemplate(c => { //在这里你也可以进行其它参数的配置,比如全局数据 //这一句很重要,不然会找不到视图 c.contentrootpath = env.contentrootpath; }); }
添加action
打开homecontroller.cs
,添加一个index视图方法(或修改对应视图方法)如下:
例:
public iactionresult index() { this.set("name", "jntemplate"); this.set("now", datetime.now); return view(); }
添加视图index.html
在views\home
目录新建一个视图文件index.html
,内容如下(与第一节的一致):
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>${name} web 应用</title> </head> <body> <h1>welcome to ${name}!</h1> <p>©${now.year}</p> </body> </html>
运行
按f5
运行查看效果。
三、总结
本文介绍了在asp.net mvc中如何使用jntemplate,其它mvc框架、开发框架,使用方法类似。至本篇为止,.net 开源模板引擎jntemplate 教程的基础篇已经全部写完,在接下来的时间我将继续介绍jntemplate的进阶用法(.net 开源模板引擎jntemplate 教程之进阶篇):包括自定义配置,预编译文件,自定义加载器,自定义标签等内容,感兴趣的朋友不要错过 。
目录:
- .net 开源模板引擎jntemplate 教程:基础篇之在asp.net mvc中使用jntemplate
jntemplate源码下载
- gitee:
- github:
- 文档:
上一篇: 给Winform中的TabControl添加更现代的拖拽功能
下一篇: EF Core使用