Asp.net IE7没有';在窗口调整大小或在选项卡之间切换之前,不要呈现页面的一部分

Asp.net IE7没有';在窗口调整大小或在选项卡之间切换之前,不要呈现页面的一部分,asp.net,internet-explorer-7,rendering,quirks-mode,Asp.net,Internet Explorer 7,Rendering,Quirks Mode,我对IE7有问题 我有一个固定的布局来保持页眉和一个固定在页面上的侧面板,只留下“主内容”区域开关可以愉快地滚动它的内容 这种布局对于IE6和IE8来说非常好,但有时一个页面可能会开始“隐藏”应该显示在“主要内容”区域的内容 页面加载完毕。在一瞬间,IE7会将主要内容渲染得恰到好处,然后会立即将其从视图中隐藏。。某处。。似乎只有当有足够的内容迫使“主要内容”区域滚动时,它才会遇到这个问题 通过调整窗口大小或切换到另一个打开的选项卡,然后再切换回来,将导致IE7按预期显示页面 注意:IE8在兼容

我对IE7有问题

我有一个固定的布局来保持页眉和一个固定在页面上的侧面板,只留下“主内容”区域开关可以愉快地滚动它的内容

这种布局对于IE6和IE8来说非常好,但有时一个页面可能会开始“隐藏”应该显示在“主要内容”区域的内容

页面加载完毕。在一瞬间,IE7会将主要内容渲染得恰到好处,然后会立即将其从视图中隐藏。。某处。。似乎只有当有足够的内容迫使“主要内容”区域滚动时,它才会遇到这个问题

通过调整窗口大小或切换到另一个打开的选项卡,然后再切换回来,将导致IE7按预期显示页面

注意:IE8在兼容模式下也会出现同样的问题,但是页面在IE8模式下呈现正确

如果需要,我可以附加我使用的基本CSS样式,但我首先想看看这是否是IE7的已知问题

IE7是否存在定位布局和溢出滚动的问题,有时会忘记正确完成页面渲染,直到某个窗口重画事件强制完成渲染

请记住,此布局与母版页中设置的布局完全相同,用于站点中的多个页面。(在本例中)只有一个页面遇到此问题

具有完全相同布局的其他页面不会正确呈现。即使主内容已满,也可以滚动

更新:目前还没有答案

后期更新:添加示例母版页和css

请注意,应用程序中的所有页面的布局都是相同的。我的IE7问题只出现在一个这样的页面上。所有其他页面都在IE7中正确呈现。只有一个页面使用完全相同的布局,会出现问题,有时会将内容隐藏在“工作空间”分区中

母版页

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="shared_templates_MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
  <link rel="Stylesheet" type="text/css" href="~/common/yui/2.7.0/build/reset-fonts/reset-fonts.css" runat="server" />
  <link rel="Stylesheet" type="text/css" href="~/shared/css/layout.css" runat="server" />
  <asp:ContentPlaceHolder ID="head" runat="server" />
</head>
<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
  <div id="app-header">
  </div>
  <div id="side-panel">
  </div>
  <div id="work-space">
    <asp:ContentPlaceHolder ID="WorkSpaceContentPlaceHolder" runat="server" />
  </div>
  <div id="status-bar">
    <asp:ContentPlaceHolder ID="StatusBarContentPlaceHolder" runat="server" />
  </div>
  </form>
</body>
</html>
默认的.aspx

<%@ Page Title="Test" Language="VB" MasterPageFile="~/shared/templates/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<asp:Content ID="WorkspaceContent" ContentPlaceHolderID="WorkSpaceContentPlaceHolder" Runat="Server">
  Workspace
  <asp:ListView ID="DemoListView" runat="server"
                DataSourceID="DemoObjectDataSource"
                ItemPlaceholderID="DemoPlaceHolder">
    <LayoutTemplate>
      <table style="border: 1px solid #a0a0a0; width: 600px">
        <colgroup>
          <col width="80" />
          <col />
          <col width="80" />
          <col width="120" />
        </colgroup>
        <tbody>
          <asp:PlaceHolder ID="DemoPlaceHolder" runat="server" />
        </tbody>
      </table>
    </LayoutTemplate>
    <ItemTemplate>
      <tr>
        <th><%#Eval("ID")%></th>
        <td><%#Eval("Name")%></td>
        <td><%#Eval("Size")%></td>
        <td><%#Eval("CreatedOn", "{0:yyyy-MM-dd HH:mm:ss}")%></td>
      </tr>
    </ItemTemplate>
  </asp:ListView>

  <asp:ObjectDataSource ID="DemoObjectDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="DemoLogic">
    <SelectParameters>
      <asp:Parameter Name="path" Type="String" />
    </SelectParameters>
  </asp:ObjectDataSource>
</asp:Content>

<asp:Content ID="StatusContent" ContentPlaceHolderID="StatusBarContentPlaceHolder" Runat="Server">
  Ready OK.
</asp:Content>

工作空间
准备好了吗。
一种理论:

你的CSS是在主内容区域之后声明的(这会导致所谓的“未格式化内容的闪现”),在你的CSS中有一个IE7错误(可能是)会导致内容被隐藏

尝试添加:

position: relative; min-width: 0; 位置:相对位置; 最小宽度:0;
到正在消失的内容。

除了样式表声明完全相同的其他页面没有相同的问题。事实上,有问题的页面偶尔会呈现得很好,而不需要调整大小或切换选项卡。虽然一个页面一旦出现问题,它通常会一直出现问题。我没有硬性规定可以确定页面是否完全正确呈现。是否有示例(CSS和HTML)在某处?我明天会添加CSS和HTML,因为我今天晚上没有代码。它在我的机器中工作…(使用IE8 comp view)也许问题在于数据?为什么数据很重要?我有两个屏幕是用同样的方法制作的。只有一个似乎与IE7有问题。虽然数据不同,但我还是不明白为什么它会影响事情。如果调整窗口大小或只是在选项卡之间切换(根本不刷新页面),IE7会呈现页面。这就像IE7在第一次加载页面时放弃呈现页面一样,只有一些窗口事件导致它认为“哎呀,我还没有完成呈现这个页面。我现在应该正确呈现它”。最令人沮丧的是,我的意思是:可能数据有一些很长的html,或者一些有趣的字符。为什么不尝试完全相同的页面,但表中没有任何记录?此外,IE7在您的机器中的外观截图将帮助我们更好地理解问题。 position: relative; min-width: 0;