angularjs和ASP.NET MVC:客户端模型的最佳策略

rek*_*kna 9 asp.net-mvc asp.net-web-api angularjs

我目前正在研究客户端模型绑定到HTML模板,特别是与angularjs.我想知道从服务器检索客户端视图模型的最佳策略是什么,例如,视图模型不仅包含用于编辑的数据,还包含选择列表或下拉列表等的数据.

我认为,有几种选择

  1. 使用例如web api从服务器检索一个视图模型,其中包含视图模型所需的所有数据
  2. 将客户端viewmodel渲染到服务器端html内的javascript
  3. 使用多个web api调用检索viewmodel的数据,例如,一个用于要编辑的主数据,一个用于每个附加数据(选择列表)

我没有遇到选项1的许多示例,因为似乎web api主要用于为一种类型的对象返回特定数据的crud操作,例如Person或Order

选项2符合使用asp.net mvc的服务器端视图模型的实践,但我没有看到很多使用这种技术与angularjs结合的例子

如果考虑分离问题,选项3看起来很干净,但是缺点是多个较小的ajax请求.

你能分享一下你的想法和经历吗?

Phi*_*hil 1

我同意圣。从来没有并且肯定使用过选项 #3,我认为将 $resource 和 Web API 结合起来将是一个完美的 RAD 组合。然而,我也曾在非常复杂的屏幕上工作过,我想要亚秒级的响应时间,所以我采取了优化整个开发“列”的方法 - 我使用 SQL Server 作为我的后端数据库进行开发,所以我使用了它对 XML 的本机支持可从存储过程返回结构化 XML,然后将其序列化为 .Net 模型 (POCO),然后将其传递给 Json 序列化器以传输到浏览器。我可能需要针对 POCO 执行一些额外的业务处理,但这仍然会导致非常简单的代码结构来传输相当复杂的数据结构。通常它也非常快,因为我对数据库进行了一次调用,并且监视和优化一个存储过程非常简单。