带有SPA的MVC Web API

时间:2013-04-09 21:29:10

标签: asp.net-mvc-3 asp.net-mvc-4 breeze single-page-application

我是WebAPI的新手。我有4个实体:

  1. 位置
  2. 服务
  3. 项目
  4. 应用
  5. 我已阅读了几篇WebAPI教程。它们似乎都在每个API控制器中都有CRUD方法来处理单个实体。我需要的一个功能是模拟级联下拉和级联更新,其中Location确定服务范围。每个服务确定服务项目列表。每个项目都可以在应用程序列表中使用。问题是

    1. 我是否使用CRUD方法创建4个API控制器?
    2. 我需要一个表单上的所有4个对象作为允许多选的列表框。
    3. 在4个列表框旁边,如何显示保存到数据库表中的选定值组合列表?
    4. 哪个javascript库或框架最适合SPA(单页应用)?我目前倾向于Backbone.js和HotTowel.js。
    5. 谢谢。

1 个答案:

答案 0 :(得分:2)

您可以将您的服务公开为OData service。如果您希望支持过滤,则应使用单独的OData NuGet packagedevelop your controllers。在这种情况下,四个控制器都适合。

然后,您可以使用客户端丰富的数据库(例如breeze.js)来直接构建对OData服务的请求。然后,您将使用MV* client side framework在客户端视图模型和UI元素之间提供双向绑定。

Hot Towel不是一个JavaScript库,它是一个Visual Studio扩展,它允许您创建一个新项目作为SPA的起点。该模板需要Visual Studio 2012和ASP.NET Web Tools 2012.2更新。

它使用breeze.js,Knockout.js作为绑定,Durandal.js用于导航,生命周期和视图合成。