我的应用程序问题我正在使用带有MVC部分视图的Knockout和Knockout.mapping插件进行开发。
背景
我想实现一个用户可以拥有不同配置文件的门户网站,因此我可以选择选择所需的配置文件数量并命名。在此之后,他们转到下一页,他们配置他们的配置文件,每个配置文件由相同的属性和字段组成,在一天结束时他们都转到同一个表,只有不同的" ProfileID&# 34;
当前情景
我有一个只有一个下拉列表的视图,其中列出了不同配置文件的名称,一旦选择了配置文件,将呈现partialView以向用户显示可编辑信息,这里我使用knockout来让用户在客户端添加/删除属性,然后使用Ajax请求我将这些更改发布到DataBase中。在控制器上的Post方法中,我返回一个JSON对象来更新Knockout ViewModel绑定,我可以成功完成。到目前为止这么好,对吗?
问题
一旦用户保存了他们的一个配置文件,他们可能会编辑下一个配置文件,做任何事情,并可能回到他们已经编辑过的配置文件。这就是出现问题的地方:页面上显示的信息是他们原来拥有的信息,也就是旧信息。我已经跟踪了所有内容,虽然数据库中的数据是正常的,但事实是浏览器甚至不再向服务器请求信息,这意味着它可能被缓存了?如果是这样,我怎么能强迫浏览器总是从服务器请求信息,或更新缓存的viewModel?
注释和答案 我终于意识到它与Knockout没有关系,只是一般的缓存,解决它的方法是通过添加这段代码来禁用控制器中将返回局部视图的缓存:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
答案 0 :(得分:0)
我终于意识到它与Knockout没有关系,只是一般的缓存,解决它的方法是通过添加这段代码来禁用控制器中的缓存,它将返回局部视图:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]