asp.net-mvc - ASP.NET MVC 是否拒绝使用客户端 MVVM?

标签 asp.net-mvc mvvm knockout.js client-side

我来自 Windows 窗体开发。

我有我的业务层 DLL 和 DAL,我想基于这些创建 Web 应用程序。

从标准 ASP.NET MVC4 开始,一切看起来都很好。

现在我想让用户体验更好,我认为带有 KnockoutJS 的 WEB API 会对我有所帮助。

但是当我阅读各种教程和书籍时,我开始质疑这种好处。

我的目标:AJAXify,从而使用户体验更好。

我目前的想法:

1) 在我现有的 MVC 应用程序中使用 knockoutJS 和 WEB Api

2)只需在我现有的 MVC 应用程序中使用 jquery + WEB Api 即可完成我想要的操作。

我认为 #2 是旧做法,我应该转向 #1 或类似的做法。

但是当我开始阅读有关 View 模型、路由等的内容时。我很困惑,因为我不知道在哪里创建和管理这些。在 ASP.NET 模型中或在 Javascript 中或两者中?

我在脑海中“闻到”意大利面的味道......

最佳答案

简单地说,客户端的模型必须与从服务器端传入的模型相匹配。看起来多余吗?是的,但这就是两层解决方案(服务器端和客户端)的本质。

话虽如此,如果您想让客户端的代码更短一些,也许可以节省一点时间,您可以查看 knockout mapping plugin它会自动将服务器上的 json 转换为 knockout 可观察值。

关于asp.net-mvc - ASP.NET MVC 是否拒绝使用客户端 MVVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513976/

相关文章:

asp.net-mvc - Azure 上的 Facebook 应用程序使用 ASP.NET MVC Facebook 模板(API 错误代码 : 191)

c# - MVC List<SelectListItem> 带有为每个项目创建 optgroup 的组

wpf - ViewModel 定位器如何在模块化系统中工作

c# - Web API 服务 - 如何使服务器上的请求并发执行

asp.net-mvc - 从操作写入输出流

xaml - GridView - 在已选择的项目上触发 SelectionChanged 事件

wpf - WPF MVVM中的键盘快捷键?

knockout.js - optionsCaption 如何影响 knockout 中的数据绑定(bind)

javascript - Knockout.js 事件上下文

javascript - JSON.stringify 一个带有 Knockout JS 变量的对象