ASP.NET MVC 4中之单页面应用程序

ASP.NET MVC 4
beta中蕴含了一个尝试型,用作开发“单页面应用程序(single
page applications)”。该品种为称ASP.NET
SPA,其品种项目因相同组起来源库以及WPF、Silverlight上流行的MVVM模式。

浏览器端

位于浏览器端技术组底部的是鼎鼎大名的jQuery库房,与的一起的还有Unobtrusive
Ajax、jQuery UI和jQuery Validation插件。

连片下去的技艺是Upshot。它是构建于jQuery和Knockout之上的数目看与缓存库。在演示代码中,你见面见到出一个暨knockout兼容的视图模型被自动生成。它的中是根据Upshot的函数,用作处理同服务层的通信。另外它还含用于驱动UI的代码。(SPA的视图模型类似XAML技术,如此看来,这块地方高速会充满各式各样的代码。)

MVVM风格的数绑定以Knockout框架形成。与基于XAML的技艺类,Knockout提供了声明式的多寡绑定,它以当数码以及视图模型基于暴露属性更改事件的observables
时,可以全面的进展工作。此外,你莫待显式地吸引风波,即使对算算属性啊是这般。绑定过程和安装控件的DataContext属性不同,你得调用ko.applyBindings完成。然而就并不妨碍子控件拥有不同的数目上下文,面对这种状态只有待简地吧它采用“with”或“foreach”绑定即可。其中“with”绑定类似于以控件的DataContext绑定到视图模型中之习性,而后者“foreach”本质上创办了一个品种集聚控件。

置身技术组顶端的是nav.js,它是微软新生产的一个储藏室。

劳动器端

服务端的应用程序框架由通常的MVC页面表示,而应用程序内的各种视图由暌违页面(partial
pages)表示。在示范中,Knockout数据绑定用作动态地出示与藏身这些页面。

多数服务端数据访问都由抽象类DataController处理。DataController是ASP.NET
Web
API中ApiController的子类,后者提供了客户端向服务器交由ChangeSetEntry的核心方式。喜欢下存储过程还是第三着ORM的开发人员,可以一直接轨该类;而熟悉Entity
Framework的开发人员可以动用DbDataController。Visual
Studio的下手架支持(scaffolding
support)可以啊后人自动生成附带基本CRUD操作的代码。

查英文原文:http://www.infoq.com/news/2012/02/SPA

InfoQ中文原文:http://www.infoq.com/cn/news/2012/02/SPA

相关文章