【发布时间】:2012-04-21 20:12:51
【问题描述】:
我正在编写一个 MVC 应用程序,我决定 Knockout.js 将帮助解决我的很多问题,除了在此过程中,它产生了一个我正在解决的问题的新问题。
我将所有 MVC 端点转换为仅返回视图,然后我创建了几个返回 JSON 对象的其他端点。当用户浏览网站时,网站会加载基本的 UI 框架。之后,Knockout.js 通过 AJAX 调用加载模型。这导致每个页面都加载,然后再次“加载”,就像仅使用 MVC 加载页面并且所有数据都存在一样。
我一直在寻找同时加载两者的方法,但我没有找到不需要我完全重构网站的任何东西。最好的选择是:
- 将 JSON 端点合并到视图端点中,并在代码隐藏中使用
@Html.Raw(Json.Encode(object))将模型转换为 JSON
但是我必须使用我所有的纯 JSON 端点。
我还能做些什么来将 JSON 端点数据传递到服务器端的视图?或者有什么方法可以同时加载模型和视图?
【问题讨论】:
标签: javascript asp.net-mvc json knockout.js