如何让Firefox看到.aspx页面的变化?

时间:2012-12-18 01:29:22

标签: asp.net firefox caching

我创建了一个aspx页面,并在Firefox中查看它,它运行正常,运行代码。但是当我对页面进行更改(包括删除所有内容并提供空白页面)时,Firefox会继续显示原始编译的aspx页面!如何才能看到新页面?

我甚至添加了以下代码,但它仍然加载了原始页面:

<script runat="server">
Sub Page_Load
    Random rd = new Random();
    Response.AddHeader("ETag", rd.Next(1111111, 9999999).ToString());
    Response.AddHeader("Pragma", "no-cache");
    Response.CacheControl = "no-cache";
    Response.Cache.SetNoStore();
    Response.Expires = -1;
End Sub
</script>

我甚至清除了Firefox的缓存,但它仍然加载了原始版本!

编辑:问题可能出在ASP.Net方面。它在Chrome中也没有变化。那么,如何强制更改aspx文件以强制重新编译?

3 个答案:

答案 0 :(得分:0)

我对以下代码感到满意:

// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

// Stop Caching in Firefox
Response.Cache.SetNoStore();

此外,在您添加缓存预防代码之前,您的浏览器可能已经缓存了它。如果是这样,请尝试在Firefox中点击CTRL-SHIFT-R强制重新加载而不点击缓存,看看你是否仍然存在Firefox存储页面缓存副本的问题。

答案 1 :(得分:0)

  • 另一种重新加载和覆盖缓存CTRL + F5
  • 的方法
  • 这可能还取决于您如何开发ASP.Net应用程序/站点
    • 在再次观看之前进行更改后重新编译?

如果要构建web application,则必须重建(在Visual Studio中)您的应用程序以反映您对服务器端所做的任何更改代码 - 这不是“ASP.Net问题”,这是常态。您可以在不重新构建的情况下对HTML(客户端)进行更改,但任何服务器代码更改都需要重建(重新编译dll(s))。

上面的示例代码看起来像in-line代码 - 是您的所有代码in-line - 就像您没有code behind个文件一样(即foo.aspx.vb或者foo.aspx.cs)?

以上所有内容均基于本地开发 - 显然,如果您正在查看“生产”/实时网站,那么不用说您必须“推送”/“发布”/上传/更新,无论您对其进行的本地更改。

答案 2 :(得分:0)

由于看起来问题不是与firefox有关,而是ASP.Net网络服务器中的问题(因为它也发生在Chrome中),我已经提出了一个不同的问题并将关闭这个问题。