Asp.net模板引擎JNTemplate配置通用数据

作者:翅膀的初衷 来源:本站原创 发布时间:2013-10-20 查看数:61867

在Asp.net使用JNTemplate,我们一般会在后台设定一些数据或方法,以便在模板中调用,大多数数据会跟具体的页面有关,如:

            JNTemplate.Template template = new Template("<!DOCTYPE html><html><head><title>$title</title></head><body>$msg</body></html>");
            template.Set("title", "极念模板引擎");
            template.Set("msg", "asp.net 模板引擎 - JNTemplate,基于asp.net 的轻量级模板引擎!");
            template.Render(Response.Output);

但是也有部分数据,在大多数页面甚至所有页面都是需要调用的!比如站点的名称,创建时间,站长姓名,联系方式等,像这些通用数据,我们不需要每次都赋值,只需要配置下Engines即可!

配置方法如下:打开网站根目录下的Global.asax文件,没有的话就新建一个!然后在Application_Start中添加如下内容:

            TemplateContext ctx = new TemplateContext();
            ctx.Charset = System.Text.Encoding.UTF8;//默认编码
            ctx.Paths.AddRange(new string[]{ //当模板未指定完整目录时(包括Load等标签),将按顺序在以下文件夹中查找
               System.Web.HttpRuntime.AppDomainAppPath + @"\template\default",
               System.Web.HttpRuntime.AppDomainAppPath + @"\template\public",
               System.Web.HttpRuntime.AppDomainAppPath + @"\template\path1",
            });
            ctx.TempData["Name"] = "极念网";//通用数据
            ctx.TempData["Email"] = "i@jiniannet.com";//通用数据
            JinianNet.JNTemplate.Engine engine = new JNTemplate.Engine(ctx);
            JinianNet.JNTemplate.BuildManager.Engines.Add(engine);

使用:

            JNTemplate.ITemplate template = JNTemplate.BuildManager.CreateTemplate("default.html") as JNTemplate.Template;
            template.Set("title", "极念模板引擎");
            template.Set("msg", "asp.net 模板引擎 - JNTemplate,基于asp.net 的轻量级模板引擎!");
            template.Render(Response.Output);

如果找不到Paths属性,请检查模板引擎版本是否不低于1.1 beta(详细版本号:1.1.3.1)版本并至https://github.com/jiniannet/jntemplate{target="_blank"} 获取最新版本!