AjaxASP.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风格的数量绑定使用KnockoutAjax,框架形成。与基于XAML的技巧类似,Knockout提供了阐明式的多寡绑定,它在当数码和视图模型基于暴光属性更改事件的observables
时,能够周到的开始展览工作。其余,你不须要显式地掀起轩然大波,固然对计量属性也是如此。绑定进度与安装控件的DataContext属性差异,你须求调用ko.applyBindings完毕。然则那并不妨碍子控件拥有差异的数码上下文,面对那种意况只需简单地为它们采纳“with”或“foreach”绑定即可。个中“with”绑定类似于将控件的DataContext绑定到视图模型中的属性,而后人“foreach”本质上创办了二个档次汇集控件。

位居技术组顶端的是nav.js,它是微软新推出的2个库。

劳务器端

服务端的应用程序框架由一般的MVC页面表示,而应用程序内的种种视图由分手页面(partial
pages)表示。在演示中,Knockout数据绑定用作动态地显示和隐形那个页面。

多数服务端数据访问都由抽象类DataController处理。DataController是ASP.NET
Web
API中ApiController的子类,后者提供了客户端向服务器交由ChangeSetEntry的核心格局。喜欢使用存储进度大概第贰方O福睿斯M的开发人士,能够平素接轨该类;而熟习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

相关文章