【问题标题】:Firefox not displaying panel on refresh or postbackFirefox 在刷新或回发时不显示面板
【发布时间】:2014-04-28 13:59:38
【问题描述】:

我有一个奇怪的问题。我有一个带有三个 RadioButtons 的 RadioButtonList 的 ASP.NET 网页。 RadioButton1 隐藏两个面板。 RadioButton2 显示 Panel1 并隐藏 Panel2 然后 RadioButton3 隐藏 Panel1 并显示 Panel2。很直接。隐藏和显示面板的所有逻辑都在代码后面的 C# 中。所有这些在 Chrome 和 IE 中都非常有效。在火狐中;但是,如果您在选择 RadioButton2 并显示 Panel1 时以任何方式刷新页面(另一个控件回发或通过点击浏览器的刷新按钮),则页面返回时 RadioButton2 仍处于选中状态,但两个面板现在都已隐藏。在 Chrome 和 IE 中,刷新页面会将其恢复到原始状态。这意味着所有控件都设置为其原始值,并且 RadioButton1 被选中并且两个面板都被隐藏。不一定是理想的,但比使 RadioButtons 和 Panels 恢复不同步要好得多。

不知道从哪里开始看这个。这些都不是在 JavaScript 中完成的。面板和单选按钮不是在代码中生成的,它们位于页面的静态 HTML 部分中。

想法?

【问题讨论】:

    标签: asp.net firefox


    【解决方案1】:

    听起来您可能正在处理 Firefox 中的页面缓存问题。您是否尝试过为此页面禁用页面缓存?例如,看到这个答案:Disable caching in Fire Fox in ASP.NET and C#

    【讨论】:

    • 我很欣赏这个建议,但这并没有解决问题。 RadioButtons 仍然与面板不同步。我只是回去并强制它在后面的代码中正确重置。我能够在不干扰页面正常运行的情况下这样做。
    【解决方案2】:

    这并不是我真正希望的答案,因为在 2014 年我们仍然存在浏览器不一致的问题,但我在页面中放置了一些代码来处理这个问题并强制它回到正确的状态,这对我来说似乎是不可理解的。这解决了眼前的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-07
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多