Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.NET/C中在服务器端渲染把手模板#_C#_.net_Templates_Handlebars.js - Fatal编程技术网

C# 在.NET/C中在服务器端渲染把手模板#

C# 在.NET/C中在服务器端渲染把手模板#,c#,.net,templates,handlebars.js,C#,.net,Templates,Handlebars.js,在.NET中是否存在用于呈现把手模板的现有库 我想使用它作为一个模板引擎,为用户创建HTML电子邮件模板 我找了几个小时,但似乎什么也没找到。包装好的javascript呈现模型可以,但本地库更好 否则,是否有更适合.NET环境的类似模板引擎 如果您想使用Handlebar服务器端,请查看node.js和以下两个问题: 在浏览器中,把手确实是为用户设计的。我认为在服务器上使用它不是一个好主意(即使node.js也没有服务器端的handlebar编译器) 尽管如此,Handlebar基本语法是从

在.NET中是否存在用于呈现把手模板的现有库

我想使用它作为一个模板引擎,为用户创建HTML电子邮件模板

我找了几个小时,但似乎什么也没找到。包装好的javascript呈现模型可以,但本地库更好


否则,是否有更适合.NET环境的类似模板引擎

如果您想使用Handlebar服务器端,请查看node.js和以下两个问题:


在浏览器中,把手确实是为用户设计的。我认为在服务器上使用它不是一个好主意(即使node.js也没有服务器端的handlebar编译器)


尽管如此,Handlebar基本语法是从派生而来的。而且,小胡子直接支持.NET

典型的,发布后不久,我想我找到了解决方案:

名称中的“Mustache”让我感到困惑,但实际上这个库是基于handlebar语法的

此后,我启动了我自己的库Fork,以启用“大于/小于/等于”标记:


另一个选项是通过V8绑定在C#中包装实际的handlebar.js库。

您似乎更喜欢在服务器端使用handlebar视图,但是如果您想在服务器端用C#编译它们,并在客户端渲染它们,那么我发现了两个选项:


自从这个问题被回答后,一个全面的、本机的.NET车把库变得可用(披露:我是主要作者)


它将车把模板编译为IL,功能覆盖率极高。

你看到我的答案了吗?车把是基于胡子模板引擎。你链接的项目只是在小胡子上加一些语法糖;它具有大致相同的功能。Mustache#实际上是建立在Handlebar上的:“Mustache#将handlebar.js的功能引入.NET,然后进一步扩展。它不仅支持相同的标签,还智能地处理空白。“你发布的链接是对Mustache的改编,而不是Mustache本身。”。注意,我不是告诉你不要使用这个模板引擎——它看起来很好,我更喜欢顶部胡子上提供的语法糖(语义)把手。我只是想澄清两者在图中的位置。“胡子锋利”是车把的替代品,而不是延伸或改编。它有一些明显的不兼容之处——你不能把一个车把模板整体举起,然后把它放在胡子尖上,期望它也能工作。这可能好也可能不好,取决于项目。但它们绝对不是一回事。Net是Handlebar语言的一个对等实现()谢谢你的回答,但是已经找到了mustach。我特别想在服务器上找把手,而不是胡子。你能详细解释一下为什么你不认为在服务器上使用手柄是个好主意吗?因为手柄实际上是先为浏览器考虑的。因此,我觉得它遗漏了服务器上的一些非常重要的功能,如布局管理等。我觉得Handlebar实际上是在创建“空间”视图,而不是完全可伸缩的HTML架构。这就是为什么在Node.js上,大多数车把爱好者使用Hogan.js和Mustache。在Node.js中有几个车把视图引擎模块可供使用。这是我最喜欢的:谢谢戴夫。我希望有一种更简单的方法来实现这一点,而不必运行Node.js,Mustache#library似乎可以这样做来更新我的答案,3年过去了,现在有了一个服务器端的手柄视图渲染器,做得很好,我正在寻找一些类似车把做生成动态模板,这将非常适合!谢谢,哇。一个NuGet导入,两行代码,第一次尝试就成功了。做得好!如果您想在ASP.NET Core(2.0+)中使用它,我已经使用Handlebar.NET创建了一个自定义视图引擎:这可能是我,但我发现“用法”部分非常重要confusing@Jean-如果你对如何改进有任何想法,欢迎接受公关!