ASP.NET MVC
中使用Jntemplate上一篇咱们详细介绍了jntemplate的标签语法,本篇文章将继续介绍如何在ASP.NET MVC
中使用Jntemplate。html
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,改造以下: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));
F5
,运行看一下次果吧。小提示:为了方便使用,咱们能够新建一个控制器基类,将第3步的代码移到基类中。git
在上面咱们虽然实现了jntemplate的使用,可是步骤相对繁琐,咱们能够直接使用Jntemplate视图引擎来简化使用.github
首先新建一个asp.net mvc
项目(参见上面的步骤)。而后咱们先添加JntemplateViewEngine
包, 点击项目
- 管理NUGET程序包
,点击浏览
,输入Jntemplate
,安装好包JinianNet.AspNetCoreViewEngine.Jntemplate
.web
Startup
在ConfigureServices
方法中增长AddJntemplateViewEngine
:public void ConfigureServices(IServiceCollection services) { //原来的代码 services.AddJntemplateViewEngine(); }
若是你的视图文件按照默认习惯放在Views目录下,直接照上面的代码配置就能够了,若是是放在其它目录,则须要把目录添加到配置里面。mvc
public void ConfigureServices(IServiceCollection services) { //原来的代码 services.AddJntemplateViewEngine((o) => { o.ViewLocationFormats.Add("/template/{1}/{0}.html"); }); }
{0}
为视图名,{1}
为控制器名。app
Configure
方法中增长UseJntemplate
,以下如示public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { //原来的代码 //Use Jntemplate app.UseJntemplate(c => { //在这里你也能够进行其它参数的配置,好比全局数据 //这一句很重要,否则会找不到视图 c.ContentRootPath = env.ContentRootPath; }); }
打开HomeController.cs
,添加一个Index视图方法(或修改对应视图方法)以下:框架
例:asp.net
public IActionResult Index() { this.Set("Name", "Jntemplate"); this.Set("Now", DateTime.Now); return View(); }
在Views\Home
目录新建一个视图文件Index.html
,内容以下(与第一节的一致):ui
<!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
运行查看效果。this
本文介绍了在asp.net mvc中如何使用jntemplate,其它MVC框架、开发框架,使用方法相似。至本篇为止,.net 开源模板引擎jntemplate 教程的基础篇已经所有写完,在接下来的时间我将继续介绍jntemplate的进阶用法(.net 开源模板引擎jntemplate 教程之进阶篇):包括自定义配置,预编译文件,自定义加载器,自定义标签等内容,感兴趣的朋友不要错过 。