【问题标题】:Is there a .Net MVC solution out there that supports shared usage of Views, both on server and client?是否有 .Net MVC 解决方案支持在服务器和客户端上共享视图?
【发布时间】:2012-05-04 20:42:09
【问题描述】:

几周前我在查看http://derbyjs.com/ 和meteor.js 时对此感到疑惑。 我喜欢这些平台的地方在于,它们支持在支持 JavaScript 的浏览器的服务器(如 ASP.Net MVC 视图)和客户端上共享 (HTML) 模板。 基本上结合了 HTML 的 ASP.Net MVC 服务器端渲染和 ASP.Net 单页应用程序架构。这样我们只需在一个地方维护视图/模板代码,并使其可用于服务器端渲染以及客户端 MVC / MVVM。 是否有这样的解决方案可用或在某处工作?

【问题讨论】:

    标签: javascript asp.net-mvc model-view-controller mvvm knockout.js


    【解决方案1】:

    我一直在寻找同样的东西,但遇到了一些选择:

    1. 一种简单但受限的方法,因为它的“无逻辑模板”是 mustache 模板 - 它们具有 .net nustache

    2. Razor 视图引擎到 Javascript 的端口,例如 Javascript + Razor == Jazor? -

    3. Spark 视图引擎 - Scott Allen 和 Hanselman 等 .net 英雄谈论它...这里有一篇帖子 http://odetocode.com/blogs/scott/archive/2009/03/12/client-rendering-views-with-spark-and-asp-net-mvc.aspx 展示了如何在服务器和客户端上使用相同的 Spark 视图.

    也许还有更多……因为这似乎是统一视图代码以编写一次并在客户端/服务器上运行的普遍愿望。

    如果我现在根据 GitHub 上项目的活动来选择,kirbysayshi/vash 有持续的提交并且非常活跃!由于 Vash 是 Razor 的一个端口,因此它可能是目前最容易获得和最成熟的。

    【讨论】:

      【解决方案2】:

      我认为没有。

      我记得一年前找过一个,但我找不到。

      这完全取决于您的应用,但如果您继续在服务器端进行渲染并使用 ajax 带回部分视图以便您可以刷新页面的某些部分,那么您应该能够获得足够好的性能。

      诀窍是创建将呈现部分页面的小动作(而不是通过Html.RenderPartial 呈现部分视图)。然后,您可以通过 ajax 调用相同的操作来刷新页面的某些部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-16
        • 2012-06-17
        • 2021-07-13
        • 2021-08-27
        • 1970-01-01
        • 2023-03-16
        • 2014-06-09
        • 1970-01-01
        相关资源
        最近更新 更多