我正在尝试在Internet Explorer中逐步渲染表格。它逐步在Firefox中呈现 - 但是在IE中。它将它呈现在内存中,因此表格需要更多时间才能显现。
我在表格中添加了固定布局,并设置了colgroup / col -
这就是代码的样子(我在C#中构建它并使用bootstrap):
sb.Append("<table class='table table-condensed small table-hover table-bordered' style='table-layout: fixed;'>");
sb.Append(@"<colgroup span=13>
<col width='350'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
<col width='*'>
</colgroup>");
答案 0 :(得分:3)
您无法使用C#代码进行渐进式HTML呈现。在将页面发送到服务器之前,将执行所有C#代码。
答案 1 :(得分:2)
您的html组合代码将在服务器上执行,而且组合的html将立即发送到您的浏览器作为响应。你在Firefox中看到的渐进式渲染只是一种幻觉,因为html响应流启动并且数据流向Firefox,它开始渲染。然而,IE首先完全验证html直到关闭表的标签,然后呈现它。
要执行渐进式HTML,您可以使用潜水而不是表格。这是一种更有效的方法,通过让您的设计响应,您将能够获得引导程序的真正好处。
如果table是您唯一的选择,则应指定table-layout CSS属性以实现Internet Explorer 5或更高版本之外的最佳性能。通过执行以下操作,您将允许Internet Explorer在收到所有数据之前开始呈现表。
在https://msdn.microsoft.com/en-us/library/ms533020(VS.85).aspx#Use_Fixed-Size_Tables
上查看更多详情答案 2 :(得分:0)
当IE渲染整个html块时,只有在IE完成验证Asad Mehmood所指出的封闭标记时才会加载该表。而是使用div。