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

而不是 knockout 方式:

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

我不能用 Razor 做到这一点吗?
<td>@Model.Id</td>

我看到 knockout 现在包含在 MVC 4 中,但不确定如何利用它。

对不起,如果之前有人问过这个问题,但我在 SO 上做了一些搜索,但我找不到任何对我来说很清楚的东西。

最佳答案

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

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

关于asp.net-mvc - Knockout.js 与 ASP.NET MVC 和 Razor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21804414/

10-13 07:08