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,它是微软新生产的一个仓库。

劳务器端

jQuery,劳端的应用程序框架由一般性的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

相关文章

网站地图xml地图