Razor与SPA,关于MVC-View实现的思考

来源:互联网 发布:2015双十一淘宝交易量 编辑:程序博客网 时间:2024/04/25 19:34

  微软在MVC4中,推出了一个SPA的实现框架,看上去非常酷。视频地址:http://channel9.msdn.com/Events/TechDays/TechDays-2012-Belgium/199。正好我最近也在考虑MVC中view的问题:按照传统的做法,View中会有Model, ViewBag, HtmlHelper , 直接创建对象等服务器端代码,但是这些是不是都可以用纯粹的html结合其它js库来实现呢? 微软的MS示例给了肯定的答案。

   对于cshtml, 从技术上讲,完全是可以去掉cs, 直接变成html的。 如果走极端(我认为是极端), 这个html应该是这样的:

   1)  页面为纯粹的html, 只有容器和初步的布局

   2)  页面初始化数据,如当前登陆者的上下文信息,下拉列表的绑定数据,其它默认数据等,在页面第一次load完毕后,通过ajax请求获取

   3) 页面grid等UI渲染,使用knockout.jsd等

   4) 页面使用unobtrusive模式,验证事件等都使用属性绑定

   5) 后面和服务端的交互全部通过ajax + json来进行

   6) 后端的服务器技术完全是可以非.net的

   

    如果这样做,完全丧失了MVC的一些便利性,如初始化数据绑定,Model前后端一致的验证等,而后端呢,则完全成了Data Services(这是不是传说中的SOA呢?) 所以我觉得这个方向虽然技术上可行,但是似乎有些极端化了。不知道大家是如何考虑这个问题的?

   

   附微软的SPA解决方案框架图:

原创粉丝点击