使用ASP.NET MVC和Razor的Knockout.js

duy*_*yen 4 asp.net-mvc razor knockout.js

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

而不是Knockout方式:

<td data-bind="text: Id"></td>
Run Code Online (Sandbox Code Playgroud)

我不能用剃刀做这件事吗?

<td>@Model.Id</td>
Run Code Online (Sandbox Code Playgroud)

我看到淘汰现在包含在MVC 4中但不确定如何利用它.

很抱歉,如果之前已经询问过这个问题,但我在SO上进行了一些搜索,但我找不到任何对我来说很清楚的事情.

Dar*_*rov 11

基本上MVVM JS框架,如knockoutjs打算在你,如果你想有一个最小的服务器端逻辑的,单一服务器处理程序或MVC控制器动作单页应用中使用,即服务于一些HTML.并且所有应用程序逻辑都是用javascript编写的.客户端只对客户端的REST服务进行AJAX调用,所有视图模型都存在于客户端上.服务器只会向客户端发送初始JSON模型,但与该模型的所有交互都将在客户端上进行.

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