【问题标题】:How to create a template language如何创建模板语言
【发布时间】:2011-11-25 18:25:05
【问题描述】:

我不知道如何解释这一点,也不确定这是否是正确的标题。您可以编辑此帖子和标题以使其更清晰。

这是我需要做的。我们有一个 CMS,并希望简化创建页面。我们希望使用更简单的语言,而不是使用原始 C# 创建页面模板。例如。

老办法:

<span>User name: <%= Model.UserName %></span>

新方式:

<span>User name: {Username}</span>

如您所见,新方法要简单得多。但我不想停在那里。我想包括条件、循环变量和其他非常简单的脚本概念,以便由 C# 解析。有没有已知的方法可以做到这一点,或者我可以使用任何现成的代码来实现这一点。

编辑:

我需要这样的东西的原因是使页面高度动态。此模板语言不仅用于呈现网页。它将用于从数据库中获取数据、从其他网页加载信息、构建动态数据、动态创建计算数据。这意味着我可以在帖子中插入模板代码,然后它将即时运行自定义模板(脚本代码)。

【问题讨论】:

    标签: c#-4.0 template-engine


    【解决方案1】:

    你可能想要RazorEngine,它使用微软新的 Razor 模板语言。

    比你的例子还要轻。

    【讨论】:

    • 其实我也需要这个模板代码在后端运行。它不仅用于创建网页。
    • @Luke101:那是什么意思?
    • 我需要 razor 引擎能够从数据库中获取信息、创建变量、循环数据并能够在运行中运行。只用剃须刀就可以吗?
    • @Luke101:Razor 支持任意 C# 或 VB.Net 代码。你可能对我的in-depth series of blog posts感兴趣。
    【解决方案2】:

    你可以看看 Mustache 项目,它非常成熟并且在两端(后端和前端)都工作:

    http://mustache.github.com/

    祝你好运!

    【讨论】:

      【解决方案3】:

      您使用的是 ASP.NET Web 窗体还是 ASP.NET MVC? 如果是 MVC,那么已经有许多不同的 ViewEngines 可以让您以不同的方式创建页面。

      看这里:

      http://sparkviewengine.com/, http://code.google.com/p/nhaml/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-18
        相关资源
        最近更新 更多