微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过Knockout使用MVVM的asp.net MVC,将模型传递给j​​avascript

我正在写一个MVC应用程序,我已经决定Knockout.js将帮助解决我的很多问题,除了在这个过程中,它已经创建了一个我正在解决问题的新问题.

我将所有MVC端点转换为仅返回视图,然后我创建了几个返回JSON对象的端点.当用户浏览网站时,该网站会加载基本UI框架.之后,Knockout.js通过AJAX调用加载模型.这导致每个页面都被加载,然后再次“加载”,就像加载页面的MVC和所有数据一样.

我一直在研究如何同时加载两者,但我没有找到任何不需要我完全重构网站的东西.最好的选择是:

>将JSON端点合并到视图端点,并使用@ Html.Raw(Json.Encode(object))将模型转换为代码隐藏中的JSON

但是我必须得到所有纯JSON端点.

我还能做些什么来将JSON端点数据传递到服务器端的视图吗?或者以任何方式同时加载模型和视图?

解决方法

您的体系结构是正确的,但您希望初始加载使用模型中的数据预先填充视图.在刚刚返回视图的控制器操作中,您应该将数据放入ViewData中.然后,视图最初使用Model值加载,并且每个UI元素都可以具有AJAX更新,该更新调用该特定字段的Controller操作.

这也可能是ideal case for a ViewModel.这可能有助于as well.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐