asp.net-mvc - 带有 ASP.NET MVC 和 Razor 的 Knockout.js

标签 asp.net-mvc razor knockout.js

有人可以向我解释为什么我要在 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 - 带有 ASP.NET MVC 和 Razor 的 Knockout.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804414/

相关文章:

c# - 把一些 parent 的 child 某项属性(property)等于某项值(value)的记录退回去?

javascript - JavaScript 中的 Razor

c# - 如何为自定义对象而不是整个模型调用 Html.Display?

javascript - 在 KnockoutJS 中,是否有必须声明计算值的特定顺序?

Javascript。备份和恢复对象

asp.net-mvc - AADSTS70001 : Application with identifier 'guid' was not found in the directory

javascript - 如何从 JS 文件读取(MVC 3、Razor)模型值?

asp.net - asp.net mvc 中的 Controller 重用

javascript - Knockoutjs 计算未从 observableArray 更新

asp.net-mvc - JSP 相当于 ASP.NET MVC 部分 View ?