Asp.net mvc Orchard Core主题视图中liquid和cshtml页面的差异

Asp.net mvc Orchard Core主题视图中liquid和cshtml页面的差异,asp.net-mvc,orchardcms,Asp.net Mvc,Orchardcms,在OrchardCore.Themes中的管理员主题中,我看到了视图文件夹Layout.cshtml和Layout-Login.cshtml 在代理主题中,我看到视图文件夹中的Layout.liquid 我试图将我新创建的主题中视图文件夹中的Layout.liquid更改为Layout.cshtml,当我运行它时,它仍然有效 那么,Orchard Core中主题中的liquid和cshtml文件有什么区别?我什么时候应该使用一个而不是另一个?它们是两种不同的视图引擎,您可以使用。ASP.NET开

在OrchardCore.Themes中的管理员主题中,我看到了视图文件夹Layout.cshtml和Layout-Login.cshtml

在代理主题中,我看到视图文件夹中的Layout.liquid

我试图将我新创建的主题中视图文件夹中的Layout.liquid更改为Layout.cshtml,当我运行它时,它仍然有效


那么,Orchard Core中主题中的liquid和cshtml文件有什么区别?我什么时候应该使用一个而不是另一个?

它们是两种不同的视图引擎,您可以使用。ASP.NET开发人员更熟悉Razor/cshtml,但它的视图是编译的。Liquid是JavaScript世界中一种非常著名的模板语言,它对Orchard有着巨大的优势,即它的视图不需要编译。这样可以将它们存储在数据库中,在不重新启动或触发编译的情况下更改它们,等等


作为模块作者,您有一个选择,应该使用您最熟悉的。但是,有时,如果出于任何原因必须动态创建视图,则Liquid是唯一的选择。

Liquid是内容可编辑模板的唯一选项的原因是razor模板可以完全访问可以在
@{}
块中用C代码编写的任何内容。这仅受授予web应用程序的执行权限的限制。因此,razor模板可能存在安全风险,允许最终用户在razor中编写模板


对于液体模板,您只能调用由呈现该模板的主机提供的液体过滤器。

是否有方法在Visual Studio中获得液体模板的代码完成或intellisense?我看到有一个VS代码的扩展,但是找不到VS的扩展。是的,看起来市场上只有VS代码扩展可用。