河北网站开发联系电话,有那个网站,应该选用,做公司网站客户群体怎么找背景平常比如开发个代码生成器一般是定一个模板#xff0c;然后里面很多变量#xff0c;根据数据生成文件。这时候模版引擎就派上了用场。下面我们来介绍下Liquid。什么是Liquid 呢#xff0c;就像java、c#等编程语言一样#xff0c;Liquid也是一种独立的语言#xff0c;没… 背景平常比如开发个代码生成器一般是定一个模板然后里面很多变量根据数据生成文件。这时候模版引擎就派上了用场。下面我们来介绍下Liquid。什么是Liquid 呢就像java、c#等编程语言一样Liquid也是一种独立的语言没什么大差别基本功能都有。动态生成文件可以输出变量操作数组等这些都能达到。官方的介绍Liquid 是一门开源的模板语言由 Shopify 创造并用 Ruby 实现。它是 Shopify 主题的骨骼并且被用于加载店铺系统的动态内容。Liquid 语法Liquid 代码可分为 对象object、标记tag 和 过滤器filter。对象对象 告诉 Liquid 在页面的哪个位置展示内容。对象和变量名由双花括号标识{{ 和 }}。标记tag标记tag 创造了模板的逻辑和控制流。他们由单括号加百分号标识{% 和 %}。过滤器过滤器 改变 Liquid 对象的输出。他们被用在输出上通过一个 | 符号分隔。开原地址 https://github.com/Shopify/liquidc#专用Dot Liquid那么基于c#的有没有对应的liquid插件呢还真有。Dot Liquid.DotLiquid相比于Mvc默认模板引擎Razor的好处有因为不需要编译到程序集再载入首次渲染速度很快不会导致内存泄漏使用方法1、nuget安装 using DotLiquid;2、定义实体继承: Drop是关键public class DotLiquidMdDrop : Drop{private readonly Questions questions;public ListAnswer answer{get { return questions.Answer; }}public DotLiquidMdDrop(Questions questionsPara){questions questionsPara;}}3、这里我们造一些测试数据并且调用[AcceptVerbs(HttpVerbs.Post)]public ActionResult DotLiquidDemo1(string template)
{string test GetInterIDList(template);ViewData[template] Template.Parse(test).Render(Hash.FromAnonymousObject(new{questions new ListDotLiquidMdDrop() {Getmork(), Getmork(), Getmork()// , new DotLiquidMdDrop(new Questions() { Answer new ListAnswer () { new Answer() { option Aa, optiontext 选项内容1111 }, new Answer() { option Aa, optiontext 选项内容1111 } } })}}));return View();}