【问题标题】:Knockout.js with ASP.NET MVC and Razor带有 ASP.NET MVC 和 Razor 的 Knockout.js
【发布时间】:2014-03-15 07:01:59
【问题描述】:

有人可以向我解释为什么我要在 ASP.NET MVC 中使用 Knockout.js 吗?做一些研究,看起来 knockout.js 的主要用途是用于数据绑定。但是,当我可以将元素与强类型视图绑定并使用 Razor 时,为什么还需要使用 knockout.js?

代替淘汰赛方式:

<td data-bind="text: Id"></td>

我不能只用 Razor 做这个吗?

<td>@Model.Id</td>

我看到 MVC 4 中现在包含了淘汰赛,但不知道如何使用它。

很抱歉,如果之前有人问过这个问题,但我在 SO 上进行了一些搜索,但找不到任何对我来说很清楚的内容。

【问题讨论】:

  • 这样做的好处之一是减少了服务器的负载,增加了客户端的负载。您可以让本地客户端处理所有数据绑定或让服务器。

标签: asp.net-mvc razor knockout.js


【解决方案1】:

基本上 MVVM js 框架(如 knockoutjs)旨在用于单页应用程序,在这些应用程序中,您拥有最少的服务器端逻辑、单个服务器处理程序或 MVC 控制器操作(如果您愿意),即提供一些 HTML。并且所有的应用程序逻辑都是用 javascript 编写的。客户端只对 REST 服务进行 AJAX 调用,所有视图模型都位于客户端上。服务器只会向客户端发送一个初始 JSON 模型,但与此模型的所有交互都将在客户端上进行。

因此,虽然您可以在 Razor 中实现很多逻辑,但这仍然是服务器端处理。如果您想要一个完全在客户端实现的非常动态的应用程序,您可以考虑在客户端使用这样的框架。

【讨论】:

  • 不一定是 SPA.Routes 可能仍保留在服务器上
猜你喜欢
  • 2013-05-25
  • 2011-12-18
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
相关资源
最近更新 更多