【问题标题】:What View Engine are you using with ASP.NET MVC? [closed]您在 ASP.NET MVC 中使用什么视图引擎? [关闭]
【发布时间】:2010-09-07 17:46:16
【问题描述】:

我知道您可以在 ASP.NET MVC 中使用多种不同的视图引擎:

  • 显然是 ASPX
  • NVelocity
  • 盲文
  • NHaml
  • 等...

默认的 ASPX 视图引擎似乎对我来说最有意义,它来自 ASP.NET WebForms 背景。

但是,我想了解每种方法的优缺点,看看大多数人都在使用什么。

StackOverflow 使用哪个?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我使用Spark。它在 HTML 和代码之间有很好的流动。 Scott Hanselman 还通过他的每周源代码审查帖子对此进行了post。我真的很喜欢它。主要功能之一是pre-compilation 您的意见。

    【讨论】:

      【解决方案2】:

      “StackOverflow 使用哪个?”

      网络表单。

      我向 Jeff Atwood 询问了他对 Tag Soup 帖子的决定。他没有回复——我认为他正忙于寻找丢失的结束标签;-)

      【讨论】:

        【解决方案3】:

        NHaml 是我的最爱,因为它简洁。人们要么喜欢它,要么讨厌它,因为它看起来与传统的“插入代码的 HTML”模板系统(如 ASPX 或 NVelocity)非常不同。

        编辑:

        @本,

        还有其他可以编译下来的视图引擎(NHaml 就是其中之一),因此它们确实支持自定义 HTML 助手。看到当前解释的视图引擎最终都以编译模型结束,我不会感到惊讶。

        【讨论】:

          【解决方案4】:

          微软最近宣布了一个新的视图引擎:Razor。

          看起来很有趣: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

          【讨论】:

          • +1 WebForms 让我很难过;剃刀让我快乐。
          【解决方案5】:

          地球上的大多数人只会使用 ASPX,因为这是他们所知道的。另一个出色的好处是编译性质......因此您不仅可以获得类型安全和智能感知,还可以获得性能优势。

          我看到的缺点是它太冗长了。我将一个应用程序转换为 NVelocity,并惊讶于它看起来多么干净。问题是有很多东西不适用于 NVelocity(比如您自己的自定义视图助手),并且严重缺乏文档。

          我在 MvcContrib 中添加了一项功能,您可以在其中注册自己的 HtmlExtension 类型,但在出现更好的解决方案之前,它更像是一个创可贴。

          【讨论】:

            【解决方案6】:

            我过去使用过 NVelocity。在大多数情况下,它使代码非常干净且易于遵循;然而,它通常最终只是一些 ViewData 变量,这些变量事先已被 XSLT 文件填充。所以我想我的视图引擎真的会是 XSLT(这是一个爱/恨的东西 - 扩展方法使它非常有用)和 NVelocity。

            【讨论】:

              【解决方案7】:

              我已经将 NVelocity 与 MonoRail 一起使用了一段时间,但最近在 Asp.Net MVC 和 MonoRail 中都切换到了Spark。语法对我来说似乎很自然,但我想这是可以预料的。 ;)

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-03-11
                • 1970-01-01
                • 1970-01-01
                • 2010-10-04
                • 2010-10-13
                • 2010-11-29
                相关资源
                最近更新 更多