Thực sự lạ, điều này.Bảng HTML không hiển thị chính xác trong IE9
Tôi đang sử dụng một asp:Repeater
để tạo ra một bảng HTML, như vậy:
Markup:
<asp:Repeater ID="myRpt" runat="server">
<HeaderTemplate>
<table id="myGrd" border="0" style="cursor:pointer;width:100%; background-color:white;" cellpadding="2" cellspacing="0">
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr onclick="criteria.rowClicked(this);">
<td style="border:solid 1px black;">
<asp:Literal ID="lblName" runat="server"></asp:Literal>
</td>
<td style="border:solid 1px black;width:200px;">
<asp:Literal ID="lblRange" runat="server"></asp:Literal>
</td>
<td style="display:none;" >
<asp:Literal ID="lblMisc" runat="server"></asp:Literal>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody> </table>
</FooterTemplate>
</asp:Repeater>
VB:
Public Sub populateGrid(ByVal ds As DataSet)
'ds is just made from a simple select query
myRpt.DataSource = ds
myRpt.DataBind()
End Sub
Private Sub myRpt_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles myRpt.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim lblName As Literal = e.Item.FindControl("lblName")
Dim lblRange As Literal = e.Item.FindControl("lblRange")
Dim lblMisc As Literal = e.Item.FindControl("lblMisc")
lblName.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Name")) & "</font>"
lblRange.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Range")) & "</font>"
lblMisc.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Miscellaneous")) & "</font>"
End If
End Sub
này hiển thị tốt trong Firefox và Chrome, và phần lớn thời gian trong IE. Tuy nhiên đôi khi cho các bảng lớn hơn (50+ hàng) IE hoạt động lạ lùng. Nó xuất hiện thêm một ô trống ...
... nhưng không có gì trong HTML- Tôi đã kiểm tra bằng cách sử dụng công cụ phát triển là. Hàng không chính xác có đánh dấu giống hệt với hàng chính xác, ngoại trừ văn bản ô. Hơn nữa, nếu tôi xóa hàng không chính xác, hàng bên trên nó bắt đầu hiển thị sai.
Xin vui lòng ai đó có thể đề xuất lý do tại sao trên IE đang hiển thị như thế này và tôi có thể làm gì để ngăn chặn điều đó.
Dường như đây là sự cố HTML/CSS/IE, không liên quan đến ASP. Bất kỳ cơ hội nào bạn có thể sao chép vấn đề trong JS Fiddle? (http://jsfiddle.net/) –
Tôi đã sao chép HTML vào jsfiddle. Kỳ lạ thay, nó dường như làm cho ok ở đó. – Urbycoz
Chỉ là một suy nghĩ - IE có hiển thị trang ở chế độ Quirks không? Nếu bạn mở Công cụ dành cho nhà phát triển trên trang, Chế độ trình duyệt và Chế độ tài liệu được báo cáo ở bên phải thanh trình đơn là gì? –