我有一个silverlight应用程序,它在网格中显示一些值。应用程序的另一部分更新这些值并将更新保存到源数据。所有这一切都很好,包括更新网格中显示的值...直到你以后导航回页面(通过说击中刷新)。然后奇怪地,网格中的所有值都回到了第一次进入页面时的状态。我可以检查并验证数据是否在源系统中正确,我也可以通过进入互联网选项并设置浏览历史记录来查找每次访问页面时页面的新版本。但我无法保证用户会这样做。
我在使用IE之前已经遇到过这么多次,但正常的修复程序似乎不适用于此。我已经为XAP文件的请求添加了一个时间戳,以确保每次都提取文件,但不知何故这是不够好的。我还在页面中添加了pragma no-cache标签,但仍然没有。似乎Silverlight本身就是它自己的特例。是否还有其他可以在SL对象中完成的事情,以使其每次访问都刷新一次?
答案 0 :(得分:1)
您使用什么代码填充网格?
如果您在创建页面时加载数据,则只会从数据库中提取一次。
如果您在页面已加载或导航到时加载数据,则每次显示该页面时都会从数据库中提取数据。
正如肯·史密斯在评论中所说:将您的数据检索和填充代码移动到主窗体的OnNavigate事件,并移出Application_Startup
这意味着如果您更新数据然后刷新页面, 将显示新值。
(没有代码,我无法100%确定)