Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VisualStudio缓存页中的IE9调试不正确_C#_Asp.net_Internet Explorer 9_Dynamic Data - Fatal编程技术网

C# VisualStudio缓存页中的IE9调试不正确

C# VisualStudio缓存页中的IE9调试不正确,c#,asp.net,internet-explorer-9,dynamic-data,C#,Asp.net,Internet Explorer 9,Dynamic Data,也许我在某个地方遗漏了一个背景,但我对这个问题完全目瞪口呆。我有一个动态数据网站,它使用基于角色的权限限制特定用户可以查看、编辑和删除的内容。当用户首次登录并重定向到默认页面时,它将显示该用户角色的所有正确表。单击任何可用表后,然后单击浏览器后退按钮,默认页面将显示数据库中的每个表,而不管用户角色指示什么。我目瞪口呆,因为在任何一点上都不存在任何用户角色都可以使用的每个表的视图,而ie9却设法缓存了这个虚构的页面版本。我知道这一定是缓存问题,因为单击后退箭头时不会触发默认页面上的页面加载。如果我

也许我在某个地方遗漏了一个背景,但我对这个问题完全目瞪口呆。我有一个动态数据网站,它使用基于角色的权限限制特定用户可以查看、编辑和删除的内容。当用户首次登录并重定向到默认页面时,它将显示该用户角色的所有正确表。单击任何可用表后,然后单击浏览器后退按钮,默认页面将显示数据库中的每个表,而不管用户角色指示什么。我目瞪口呆,因为在任何一点上都不存在任何用户角色都可以使用的每个表的视图,而ie9却设法缓存了这个虚构的页面版本。我知道这一定是缓存问题,因为单击后退箭头时不会触发默认页面上的页面加载。如果我刷新默认页面,它将再次正确显示

我正在使用母版页,并显式地关闭了在其页面加载中可以想到的所有形式的缓存

HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetValidUntilExpires(true);

另一件需要注意的事情是,只有当我在ff、chrome或safari中测试站点时,ie9才会出现这一问题。您必须将登录用户的角色存储在会话变量中,然后显示所需的数据(表或任何内容)基于该值。如果数据是基于用户在会话中的角色显示的,那么我认为您不会有任何问题。您还可以通过给出
Response.cache.SetNoStore()来禁用缓存