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