您现在的位置是:网站首页> .NET Core

在ASP.NET MVC中使用Jntemplate

摘要

一、使用Jntemplate

打开HomeController.cs 添加如下代码

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直接删除,并编辑内容如下:

${Name} web 应用Welcome to ${Name}!©${Now.Year}

最后别忘记在 Startup配置一下引擎工作目录,打开Startup,在Configure中添加一句:Engine.Configure(c=>c.ResourceDirectories.Add(env.ContentRootPath));

二、使用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,内容如下(与第一节的一致):


${Name} web 应用Welcome to ${Name}!©${Now.Year}


运行

按F5运行查看效果。


上一篇:.NET Core 基础知识

下一篇:实用代码下载

Top