Orchard Core中主题视图中的liquid和cshtml页面之间的区别

问题描述 投票:0回答:2

在OrchardCore.Themes的TheAdmin主题中,我在Views文件夹Layout.cshtml和Layout-Login.cshtml中看到。

在TheAgency主题中,我在views文件夹中看到Layout.liquid。

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

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

asp.net-mvc orchardcms
2个回答
1
投票

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

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


0
投票

液体是内容可编辑模板的唯一选择的原因是剃刀模板可以完全访问您可以在@{ }块内的C#代码中编写的任何内容。然后,这仅受给予Web应用程序的执行权限的限制。因此,剃刀模板可能存在安全风险,允许最终用户在剃刀中编写模板。

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

© www.soinside.com 2019 - 2024. All rights reserved.