KnockoutJS viewModel绑定在多个页面上

时间:2016-05-22 09:34:29

标签: c# asp.net-mvc knockout.js

我正在开发一个ASP MVC网络应用程序。在主页面上,我创建了一个淘汰模型,动态地更改了它的一些属性,然后我想进入另一个页面,并以某种方式传递那个精确的viewModel。我遇到了问题,因为当加载第二个页面时,会初始化一个新的viewModel,因此,我想要的属性会丢失。

var viewModel = new gameViewModel();
ko.applyBindings(viewModel);

这是我初始化模型的方法。有任何想法吗? 我不知道你需要什么代码来帮助我,所以请询问所需的信息。感谢。

1 个答案:

答案 0 :(得分:0)

基本上,您有三种选择:

  • 在浏览器中存储状态,例如使用cookies或localStorage;
  • 在导航中将状态发布到服务器,例如使用表单数据或查询字符串,并让新页面重新呈现供JS使用的数据;
  • 使用状态机制服务器端,例如SessionState,并在每次加载页面时重新加载。

这是对你的一些广泛问题的直接回答。对于更具体的答案,我建议您先尝试一下,然后再回答更具体的问题。

PS。 LocalStorage是最简单的入门方式,但它是否合适取决于浏览器要求,安全性,是否需要保存状态服务器端以及其他上下文。